我需要從擴展名爲.php或.html的所有文件的最開始處刪除任何出現的換行(Mac上的回車)。有像沒有行之間的其他字符提要像空間或任何東西。從特定文件的起始處刪除換行
因此,例如(使用/ LF爲換行的一個例子):
/lf
/lf
<!doctype html>
或
/lf
<!doctype html>
應降低到:的
<!doctype html>
單程刪除換行我發現是:
tr -d '\012'
但我不知道如何在特定文件中定位該目標,更不用說只有前幾行。
所以,我有以下幾點:
find . \(-name "*.php" -or -name "*.html" \) | xargs grep -l "\012" | xargs sed -i -e "s/\012//g"
但這不會只針對第幾行,我不能完全肯定是否正確瞄準線在任何飼料。
那麼,任何人有任何明智的想法?
請問您能解釋'/./,$\!d'這個表達方式的含義嗎? –
我創建了一個測試文件:'seq 4 | sed'1s /.*/ \ n /; 2S /.*/ \ n \ R /; 3S /.*/ \ R /; 4s /.*/ <!doctype html> /''。這裏'sed'/ [[:blank:]] /,$!''效果更好。 – Thor
@BrunovonParis編輯與胡言亂語的詳細解釋的答案。 –