====== 여러 파일 문자 치환 ======
===== 기본변환 =====
* 현재 디렉토리 내에 있는 여러 파일들 속에 있는 문자 변경
* 치환문의 형식은 다음과 같습니다.
's/변경할원본대상형식/새로적용시킬형식/g'
* 예를 들어 현재 디렉토리 내의 파일들 속에 있는 old 문자를 new 문자로 변경한다면
perl -pi -e 's/old/new/g' *
===== 응용변환 =====
* find와 perl 을 이용한 방법입니다.
* 현재 디렉토리를 포함한 하위디렉토리까지의 문자열 변경
* 치환문 형식은 다음과 같습니다.
find . -exec perl -pi -e 's/찾을문자열/바꿀문자열/g' {} \; 2>/dev/null
* . 대신 직접 디렉토리 경로를 입력하셔도 됩니다.
* 예를 들어 현재 디렉토리 이하 파일들 속에 있는 old 문자를 new 문자로 변경한다면
find . -exec perl -pi -e 's/old/new/g' {} \; 2>/dev/null
* 현재 디렉토리 아래에 *.php 에 있는 utf-8 문자를 euc-kr로 변환한다.
# find . -name "*.php" -exec perl -pi -e 's/utf-8/euc-kr/g' {} \;
===== 팁 =====
* find 에 관련된 유용한 팁입니다.
* 대소문자 가리지 않고 찾을 때
find . -exec grep -i -l "찾을문자열" {} \; 2>/dev/null
* 하위디렉토리 내.. 모든파일 찾기
find . | xargs grep "문자열"