Ai đó có thể đề nghị một cách thanh lịch để thực hiện điều này?
Đầu vào:
test instant ()
test instant ()
...
test instant () //total 1000 lines
đầu ra phải là:
test instant1 ()
test instant2 ()
test instant1000()
Các dòng trống nằm trong các tệp đầu vào của tôi và có nhiều tệp trong cùng thư mục mà tôi cần xử lý cùng một lúc.
Tôi đã thử điều này để thay thế nhiều tệp trong cùng một thư mục và không hoạt động.
for file in ./*; do perl -i -000pe 's/instance$& . ++$n/ge' "$file"; done
lỗi:
Substitution replacement not terminated at -e line 1.
Substitution replacement not terminated at -e line 1.
và tôi cũng đã thử điều này: perl -i -pe 's/instant/$& . ++$n/ge' *.vs
Nó hoạt động nhưng chỉ mục cứ tăng dần từ tệp này sang tệp khác. Tôi muốn đặt lại thành 1 cho tệp diff. Bất kỳ đề nghị tốt?
find . -type f -exec perl -pi -e 's/instant/$& . ++$n{$ARGV}/ge' {} +
hoạt động nhưng nó đã thay thế tất cả các tập tin khác không nên thay thế. Tôi chỉ muốn thay thế các tệp bằng "* .txt" mà thôi.
test instant ()
?