繁体   English   中英

如何从所有文件中删除特定行?

[英]How to remove specific lines from all files?

我想从许多文件中删除所有以“ sometext”开头的行:

find . -name "*.php"|xargs -I {} sed -e '/^sometext/d' {}

但这使我输出到控制台。 如何直接修改此文件?

使用sed的-i选项:

 sed -i -e '/^sometext/d' file

告诉sed“就地”修改文件:

find . -name "*.php" | xargs sed -i '' -e '/^sometext/d'

请注意, -i后面必须有空白'' ,否则将创建带有默认后缀的新副本。

如果不需要,请注意修剪-I in xaegs

您可以使用exec完成此操作:

find . -name "*.php" -exec sed -i '/^sometext/d' {} \;

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM