셈틀/Linux

리눅스 여러 파일 내 문자열 치환

소하랑 2011. 12. 1. 19:26
1. 현재 경로로부터 하위 폴더까지의 파일들 내에 "lion"이란 문자열을 "tiger"로 변경하는 경우

find . -exec perl -pi -e 's/lion/tiger/g' {} \;


2. 현재 경로로부터 하위 폴더까지의 "cpp"파일들 내에 "lion"이란 문자열을 "tiger"로 변경하는 경우

find . -name "*.cpp" -exec perl -pi -e 's/lion/tiger/g' {} \;



3. 현재 경로로부터 하위 폴더까지의 파일들 내에 "//#define"이란 문자열을 "#define"(즉, "//"를 제거)으로 변경하는 경우 

find . -exec perl -pi -e 's/\/\/#define/#define/g' {} \;

비슷하게 큰따옴표(")와 같은 기호는 \" 와 같이 써서 검색어로 쓸 수 있다.