No Vim:
:g/output(/ s/,$/);/
:g /pattern/
executa o comando em todas as linhas que correspondem ao pattern
e o comando s
, em seguida, substitui um fim de linha ,
por );
.
Eu tenho um arquivo onde quero adicionar algum texto no final de cada linha sempre que ele contém uma string específica:
output(),
output(abcdefgh),
torna-se
output());
output(abcdefgh));
Então, basicamente, quero detectar o "output(
remove ,
e adicionar );
ao final de cada linha que atenda à condição mencionada.
Se eu entendi corretamente, você quer
otherline(),
... output(),
... output(abcdefgh),
output
será traduzido para
otherline(),
... output());
... output(abcdefgh));
output
Eu sugiro o uso do Perl:
perl -pe 's/output\(.*?\)\K,$/);/'
Tags vim text-processing