의 모든 항목을 바꾸고 싶습니다 1800 102 6022
. 1860 266 2666
.1800 102 6022
나는 다음을 사용하고 있습니다 :
perl -pi.13.04.2016 -w -e "s/\b1800 102 6022\b/1860 266 2666/g;" /*.jsp
단일 폴더에서 작동합니다. 상위 디렉토리에서 실행하고 모든 파일에 적용하고 싶습니다.
답변1
이를 수행하려면 find 명령을 사용하십시오.
find /xxx -name '*.jsp' -exec perl -pi.13.04.2016 -w -e "s/\b1800 102 6022\b/1860 266 2666/g;" {} \;
답변2
이를 수행하는 방법에는 여러 가지가 있습니다.
사용
find
:find . -type f -name "*.jsp" \ -exec perl -pi.13.04.2016 -w -e "s/\b1800 102 6022\b/1860 266 2666/g;" {} \;
을 사용하는 경우
bash
다음을 사용하세요extglob
.shopt -s globstar perl -pi.13.04.2016 -w -e "s/\b1800 102 6022\b/1860 266 2666/g;" **/*jsp
디렉터리의 파일을 반복하면서 모든 작업을 Perl에서 수행할 수 있지만 여기서는 실제로 노력할 가치가 없습니다.