Kann jemand einen eleganten Weg vorschlagen, um dies zu erreichen?
Eingang:
test instant ()
test instant ()
...
test instant () //total 1000 lines
Ausgabe sollte sein:
test instant1 ()
test instant2 ()
test instant1000()
Die leeren Zeilen befinden sich in meinen Eingabedateien und es gibt viele Dateien im selben Verzeichnis, die ich gleichzeitig verarbeiten muss.
Ich habe versucht, viele Dateien im selben Verzeichnis zu ersetzen, aber es hat nicht funktioniert.
for file in ./*; do perl -i -000pe 's/instance$& . ++$n/ge' "$file"; done
Fehler:
Substitution replacement not terminated at -e line 1.
Substitution replacement not terminated at -e line 1.
und ich habe es auch versucht: perl -i -pe 's/instant/$& . ++$n/ge' *.vs
Es hat funktioniert, aber der Index wurde immer weiter von einer Datei zur anderen erhöht. Ich möchte das für diff-Datei auf 1 zurücksetzen. irgendwelche guten Vorschläge?
find . -type f -exec perl -pi -e 's/instant/$& . ++$n{$ARGV}/ge' {} +
funktioniert, aber es ersetzt alle anderen Dateien sollte nicht ersetzt werden. Ich ziehe es vor, die Dateien nur durch "* .txt" zu ersetzen.
test instant ()
?