
パターンを検索して「START OF ARAMBOL」と言うと、ファイル内で一致します。現在、一致するパターンの1行から1行までのすべての行をコメントアウトしたいと思います。 200を超えるファイルに対してこれを行う必要があります。
Perlを使ってこれを行うこともできますが、これを行うための良いsed方法はありますか?
ありがとう
答え1
この概念を示す行として:
echo -e 'a\nb\nc\nPATTERN\nd\ne\nf' | sed '0,/PATTERN/ s/^/#/'
環境に適応するだけです。
- 「モード」について
- コメント文字として「#」を仮定します。
- そして、それをすべてのファイルに適用する方法も説明されています。どちらも「fileXXX.txt」の場合は、次のように実行できます。
sed -i '0,/PATTERN/ s/^/#/' file*txt
答え2
あなたの質問にタグがsed
含まれているので、/答えgvim
は次のとおりです。ed
ex
ed file <<EOF
0,/"$pattern"/s/^/"$comment_char"/
wq
EOF
sed
答えは次のようsed
に非常に似ていますex
。ed