누군가 이것을 달성하는 우아한 방법을 제안 할 수 있습니까?
입력:
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로 재설정하고 싶습니다. 좋은 제안이 있습니까?
find . -type f -exec perl -pi -e 's/instant/$& . ++$n{$ARGV}/ge' {} +
작동하지만 다른 모든 파일을 교체해서는 안됩니다. 파일 만 바꾸는 것을 선호합니다 *.txt
.
test instant ()
됩니까?