2013-03-22 98 views
1

我想刪除所有的線,「sometext」開始從許多文件:如何刪除所有文件中的特定行?

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

但是,這把我輸出到控制檯。如何直接修改這些文件?

回答

1

使用sed的-i選項:

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

告訴SED 「到位」,以修改文件:

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

注意-i後的空白''是必需的,否則一個新副本將會創建一個默認的後綴。

還要注意修剪,如果你的不必要的-Ixaegs

+0

+1按秒打我。 – Beta 2013-03-22 12:34:43

0

你可以用exec做到這一點:

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