$ cat ip.txt
tr("Text");
tr("Textfsafasfsfas
safasdfsafas");
foo(tr("text"));
tr("text").arg(text);
tr("I am some text")
.arg(i do stuff);
tr("I am some text")
.arg(i do stuff)
.arg(I also do stuff);
tr("I am some text")
.arg(i do stuff);
Se o arquivo for pequeno o suficiente para conter a memória depois de adicionar todas as linhas como uma única string,
$ perl -0777 -pe 's/\btr\(([^)]+)\)(?!\s*.arg)/$1/g' ip.txt
"Text";
"Textfsafasfsfas
safasdfsafas";
foo("text");
tr("text").arg(text);
tr("I am some text")
.arg(i do stuff);
tr("I am some text")
.arg(i do stuff)
.arg(I also do stuff);
tr("I am some text")
.arg(i do stuff);
Se a saída estiver correta, adicione a opção -i
ou -i.bak
para edição no local
Editar:
Obrigado @Costas por apontar que \n?\s*
pode ser reduzido para \s*