bash - 在不同文件的不同位置删除包含给定字符串的行

标签 bash shell awk sed grep

<分区>

作为下面的示例,假设我要删除的行包含字符串 "X"。我如何删除每个文件中的那一行,比如说,在一个循环中?我可以使用 grepsed 或与此相关的任何其他 shell/bash 程序来执行此操作吗?

Line  File 1  File 2
   1       A       A
   2       B       B
   3       X       C
   4       C       X
   5       D       D
   6       E       X
   7       X       E

最佳答案

如果您想简单地删除其中包含字符“X”的行,那么可以使用这个简单的 grep 命令来拯救这里:

grep -v "X"   Input_file

现在也添加了 sed 解决方案,这将改变 Input_file 本身:

sed -i.bak '/X/d'  file*

关于bash - 在不同文件的不同位置删除包含给定字符串的行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48803980/

相关文章:

bash - 如何将数字转换为字母表的第一个字母?

python - Git Bash (Windows) 不使用 PATH

linux - 如何在 linux 中查找字符串并将其添加到文件中

linux - bash for 循环不循环(awk,bash,linux)

regex - 如何根据下一行中存在的模式组合当前行和下一行。 (使用 awk)

bash no abash :/src/github. com/tomnomnom/gf/gf-completion.bash:没有这样的文件或目录

mysql - 如何制作 wget 和 mysql bash 脚本

linux - 比较两列并打印第二个文件中的第二列

php - 以某种方式安装 Composer ,以便其他用户也可以使用其全局供应商目录、缓存等

regex - 在 Awk 中操作数据