找到& sed:删除行

时间:2013-01-26 00:32:38

标签: linux shell

我正在尝试删除PHP文件中的某些行。我试图使用find,exec组合:

find . -name '*.php' -exec sed '/@category/d' {} \;

但它只打印出文件内容。语法有什么不对吗?或者问题是什么?

3 个答案:

答案 0 :(得分:2)

你可以尝试这个命令:

find . -name '*.php' -exec sed -i '/@category/d' {} \;

我认为你错过了-i选项

答案 1 :(得分:1)

它有效,但可能不是你期望的。

find . -name '*.php' -exec sed -i '/@category/d' {} \;

会杀死有问题的行。

答案 2 :(得分:1)

这应该是sed的命令,所以尝试添加-i:

sed -i ".bak" '/culpa/d' test.txt

find . -name '*.php' -exec sed -i '/@category/d' {} \;

答案来源: Bash - find a keyword in a file and delete its line