我想刪除所有的線,「sometext」開始從許多文件:如何刪除所有文件中的特定行?
find . -name "*.php"|xargs -I {} sed -e '/^sometext/d' {}
但是,這把我輸出到控制檯。如何直接修改這些文件?
我想刪除所有的線,「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
在xaegs
你可以用exec
做到這一點:
find . -name "*.php" -exec sed -i '/^sometext/d' {} \;
+1按秒打我。 – Beta 2013-03-22 12:34:43