我有一个包含矩阵的文件。例如,我有:
1 a 2 b
2 b 5 b
3 d 4 b
4 b 7 b
sed
我知道使用命令删除带有特定字符串的特定行很容易。但是,如果我只想删除第二个字段的值为 b 的那些行(即第二行和第四行)怎么办?
您可以在 sed 中使用正则表达式。
sed -i 's/^[0-9]\s+b.*//g' xxx_file
或者
sed -i '/^[0-9]\s+b.*/d' xxx_file
“-i”参数将直接修改文件的内容,您可以删除“-i”并根据需要将结果输出到其他文件。
awk:
cat yourfile.txt | awk '{if($2!="b"){print;}}'
awk 工作正常,只需使用如下代码:
awk '{if ($2 != "b") print $0;}' file
如果你想获得更多关于 的用法awk
,就man
这样吧!