特定の文字列が含まれるたびに行末を変更する

特定の文字列が含まれるたびに行末を変更する

ファイルがあり、特定の文字列が含まれるたびに、各行の末尾にテキストを追加したいと思います。

output(),
output(abcdefgh),

~になる

output());
output(abcdefgh));

"output( だから基本的に削除を検出し,);上記の条件を満たすすべての行の終わりに追加したいと思います。

答え1

ビームから:

:g/output(/ s/,$/);/

:g /pattern/一致するすべての行でコマンドを実行した後、patternコマンドsは行の終わりを,に置き換えます);

答え2

私が正しく理解したら、あなたは欲しい

otherline(),
... output(),
... output(abcdefgh),
output

に翻訳されています

otherline(),
... output());
... output(abcdefgh));
output

Perlを使用することをお勧めします。

perl -pe 's/output\(.*?\)\K,$/);/' 

関連情報