sed -i '/^foo/! s/^/bar/' file.txt
-i
その場でファイルを変更/^foo/!
!
以外の行でのみ次のアクションを実行します foo で始まる^foo
s/^/bar/
行頭を小節に変更
私の知る限り sed
先読みも後読みもありません。 perl
など、同様の構文を持つより強力な言語に切り替えます .
GNU sed でサポートされていない perl 互換の正規表現 (PCRE) 構文を使用しています。SED 正規表現に従って正規表現を書き直すか、perl
を使用する必要があります。
SED には先読みがないため、使用しようとしていた正規表現機能がサポートされていないことに注意してください。他の人が言及したように、他の機能を使用して SED で実行できます。