linux - 如何使用 Linux 命令(sed?)删除文件中的特定行?

标签 linux sed

我有一个包含矩阵的文件。例如,我有:

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”并将结果输出到其他文件。

关于linux - 如何使用 Linux 命令(sed?)删除文件中的特定行?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15857865/

相关文章:

linux - 替代 solaris 库?

linux - 退出 bash 脚本但保持进程运行

linux - 显示包含在 elf 文件中的字符串

database - 如何使用 sed 使用引用文件在文件中进行数千次替换?

c - sed 将//替换为/* */注释,除非//注释出现在/* */中

javascript - 如何使用 javascript 杀死 linux child_process.spawn?

mysql - 如何在Linux中运行允许小写表名的MySQL查询以及包含驼峰式大小写表名的查询?

regex - 无法使用 sed 正则表达式删除空行

shell - Unix Shell 循环遍历文件并替换文本

linux - 无法在 shell 脚本中删除文件中的行