我有一個包含許多不同文件夾的目錄。在這些是一些PHP文件。在所有這些文件夾中,我需要在與某個字符串匹配的所有文件中更改第nr行。Bash - sed,在所有匹配的文件中替換行nr 1
所有的文件,我需要改變看起來這對系NR 1:
grep -rl something /somedir/folder/ | xargs sed -i '' '1s/.*/<?php/
:
<?php some text><?php
我需要「<?php
」
我嘗試這樣做,以取代所有的第一次線
但它只替換一個第一個文件夾中的文件。
我也試過:
grep -rnw something /somedir/folder/ | xargs sed -i '' '1s/.*/<?php/
但後來我得到這個錯誤:
sed: /somedir/folder//1.php:1:<?php: No such file or directory
任何想法如何,我可以解決這個問題?
當您刪除空字符串時,您的解決方案正常工作。看我的(測試)答案。 – fancyPants