본문 바로가기
System

[리눅스] 텍스트 파일 일괄 수정

by BitSense 2009. 5. 19.
반응형

제가 전문 서버 작업자가 아니기 때문에 서버에 대해 깊이있는 지식을 드리기 보다는 작업하면서 생기는 요긴한 내용들을 정리하고자 하는데 자주 얻는 정보가 아닌지라… ^^;; 헤깔리기도 하고 정리도 힘드네요.

리눅스의 장점은 콘솔환경에서 대부분의 작업이 가능하다는 것입니다. 그 중에서 윈도우에 꼭 있었으면 하는 기능이 텍스트 파일 같은 경우의 특정 단어를 일괄 수정하는 것일 겁니다. 특히나 웹 작업을 하는 경우 수십, 수백개 되는 파일을 다 열어서 수정하라는 것이… 물론, 그 작업을 대신해 주는 EditPlus나 UltraEditor 같은 텍스트 편집기를 사용하면 되기야 하겠죠. ^^;;

리눅스에서 제공하는 명령 조합으로 간단하게? 해결이 가능합니다.

파일을 찾는 find와 perl의 기능을 조합합니다.

find ./ –name “*.sql” –exec perl –pi –e ‘s/대상텍스트/변경텍스트/g’ {} \;

특별한 내용은 없습니다. 위와 같이 하면, 현재 디렉토리 이하의 파일 중에서 sql 파일만 골라 확인해서 [대상텍스트]를 [변경텍스트]로 변환합니다.

괄호 등 몇개의 특수기호들은 역슬래쉬(\)로 escape 문자를 만들어야 동작이 가능합니다.

참 쉽죠잉~~?? ^^;;

반응형