Alguém pode sugerir uma maneira elegante de fazer isso?
Entrada:
test instant ()
test instant ()
...
test instant () //total 1000 lines
a saída deve ser:
test instant1 ()
test instant2 ()
test instant1000()
As linhas vazias estão nos meus arquivos de entrada e há muitos arquivos no mesmo diretório que eu preciso processar de uma só vez.
Eu tentei isso para substituir muitos arquivos no mesmo diretório e não funcionou.
for file in ./*; do perl -i -000pe 's/instance$& . ++$n/ge' "$file"; done
erros:
Substitution replacement not terminated at -e line 1.
Substitution replacement not terminated at -e line 1.
e eu também tentei isso: perl -i -pe 's/instant/$& . ++$n/ge' *.vs
Funcionou, mas o índice continuou aumentando de um arquivo para outro. Eu gostaria de redefinir isso para 1 para o arquivo diff. alguma sugestão boa?
find . -type f -exec perl -pi -e 's/instant/$& . ++$n{$ARGV}/ge' {} +
funciona, mas substituiu todos os outros arquivos não devem ser substituídos. Prefiro substituir apenas os arquivos por "* .txt".
test instant ()
?