Sed
使用 sed 從文件開頭註釋到模式匹配行
我搜尋一個模式,比如“START OF ARAMBOL”,它在文件中匹配。現在我想評論從第 1 行到目前匹配模式行號的每一行。我必須為 200 多個文件執行此操作。
我也可以使用 perl 來做到這一點,但是有什麼好的 sed 方法可以做到這一點。
謝謝
作為一個單行來展示這個概念:
echo -e 'a\nb\nc\nPATTERN\nd\ne\nf' | sed '0,/PATTERN/ s/^/#/'
你只需要適應你的環境:
- 至於“模式”
- 我假設 ‘#’ 作為評論字元
- 以及如何將其應用於所有文件。如果它們都是’fileXXX.txt’,你可以執行:
sed -i '0,/PATTERN/ s/^/#/' file*txt
您的問題詢問
sed
但包含gvim
標籤,所以這裡是ed
/ex
答案:ed file <<EOF 0,/"$pattern"/s/^/"$comment_char"/ wq EOF
它看起來非常像
sed
答案是因為sed
和ex
下降ed