
저는 MacOS X를 사용하고 있습니다. 터미널의 이 코드는 "world"라는 폴더에서 "hello"를 포함하는 모든 txt 파일을 "hiThere"로 대체한다는 것을 알고 있습니다.
perl -pi -w -e 's/hello/hiThere/g;' ~/Desktop/world/*.txt
하지만 해당 월드 폴더 안에는 다른 txt 파일이 들어 있는 다른 폴더가 있는데, 이러한 폴더는 리팩터링이나 이름 변경을 거치지 않으므로 위의 방법을 사용하여 추가 폴더를 개별적으로 입력해야 합니다.
자동으로 수행하는 방법이 있습니까?
답변1
이것을 사용하십시오 :
find main_dir -type f -name '*.txt' -exec perl -pi -w -e 's/hello/hiThere/g;' {} \;
main_dir
기본 디렉터리로 교체