-1

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

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

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

4

3 回答 3

3

你可以试试这个命令:

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

我想你错过了 -i 选项

于 2013-01-26T00:37:00.563 回答
1

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

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

将杀死有问题的线条。

于 2013-01-26T00:36:51.547 回答
1

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

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

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

答案来源: Bash - 在文件中查找关键字并删除其行

于 2013-01-26T00:37:11.143 回答