기억하자정보/기타

리눅스 파일 내부 문자열 교체

LANIAN 2012. 7. 26. 11:51

리눅스 쉘에서 파일안 내용을 교체하는 방법 입니다.

find 명령으로 하위 디렉토리를 검사하여 특정파일의 내용을 교체 하는 방법 입니다.

예를 들어 확장자가 cpp인 파일에서 특정문자열을 교체하고 싶으시다면, 

# find /home/myid/ -name *.cpp | awk '{ print "cat "$1" | sed \"s/찾을문자열/바꿀문자열/g\" >"$1 }' | sh
 
# find /home/myid/ -name '*.cpp' -exec perl -pi -e 's/찾을문자열/바꿀문자열/g' {} \;