Quelqu'un peut-il suggérer une manière élégante d'accomplir cela?
Contribution:
test instant ()
test instant ()
...
test instant () //total 1000 lines
la sortie doit être:
test instant1 ()
test instant2 ()
test instant1000()
Les lignes vides sont dans mes fichiers d'entrée et il y a beaucoup de fichiers dans le même répertoire que je dois traiter en même temps.
J'ai essayé cela pour remplacer de nombreux fichiers dans le même répertoire et je n'ai pas fonctionné.
for file in ./*; do perl -i -000pe 's/instance$& . ++$n/ge' "$file"; done
les erreurs:
Substitution replacement not terminated at -e line 1.
Substitution replacement not terminated at -e line 1.
et j'ai aussi essayé ça:
perl -i -pe 's/instant/$& . ++$n/ge' *.vs
Cela a fonctionné mais l'index n'a cessé de s'incrémenter d'un fichier à l'autre. Je voudrais réinitialiser cela à 1 lors de la modification d'un nouveau fichier. Des bonnes suggestions?
find . -type f -exec perl -pi -e 's/instant/$& . ++$n{$ARGV}/ge' {} +
fonctionne mais il a remplacé tous les autres fichiers ne devraient pas être remplacés. Je préfère simplement remplacer les fichiers par *.txt
seulement.
test instant ()
?