2016년 3월 3일 목요일

리눅스 여러개의 파일에서 특정문자열 치환

리눅스 여러개의 파일에서 특정문자열 치환하기

find ./ -name "*.html" -exec perl -pi -e 's/찾는문자열/바꿀문자열/g' {} \;
find ./            경로를 지정할 수 있다. (원하지 않게 엉뚱한 파일까지 치환될 수도 있으니 경로를 지정해주자.)
-name "*.html"    확장자가 html 파일인 것만 찾으라고 지정했다. (경로지정과 마찬가지로 안전하게 확장자도 지정해주자.)
-exec perl        파일을 찾은뒤에 perl을 실행해 주라는 의미이다.
find ./ -name "*.html" -exec sed -i 's/찾는문자열/바꿀문자열/g' {} \;
pert 대신에 sed 명령어로 치환할 수도 있다.

특정 하나의 파일에서 치환은 vi 편집기에서 해줘도 된다.
:%s/찾는문자열/바꿀문자열/g

자주 사용하지 않아서 계속 잊어버린다.

출처 : http://itrooms.tistory.com/81