我有一个文件,每当它包含特定字符串时,我想在每行末尾添加一些文本:
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,$/);/'