誰かがこれを達成するためのエレガントな方法を提案できますか?
入力:
test instant ()
test instant ()
...
test instant () //total 1000 lines
出力は次のようになります。
test instant1 ()
test instant2 ()
test instant1000()
空の行が入力ファイルにあり、同じディレクトリの下に一度に処理する必要のあるファイルがたくさんあります。
同じディレクトリ内の多くのファイルを置き換えるためにこれを試してみましたが、機能しませんでした。
for file in ./*; do perl -i -000pe 's/instance$& . ++$n/ge' "$file"; done
エラー:
Substitution replacement not terminated at -e line 1.
Substitution replacement not terminated at -e line 1.
そして私もこれを試しました: perl -i -pe 's/instant/$& . ++$n/ge' *.vs
それは機能しましたが、インデックスは1つのファイルから別のファイルに増加し続けました。差分ファイルの場合、それを1にリセットしたいと思います。何か良い提案はありますか?
find . -type f -exec perl -pi -e 's/instant/$& . ++$n{$ARGV}/ge' {} +
動作しますが、他のすべてのファイルは置き換えられません。ファイルを「* .txt」のみに置き換えることを好みます。
test instant ()
?