9. 도서관/__사. Network

파일 내용 일괄적으로 변경

행복 금융 2008. 12. 15.
이런저런 작업을 하다 보면 파일의 특정 내용을 다른 어떤 내용으로 일괄적으로 바꿔야 할 일이 있습니다. 이 때 파일이 한두개라면 대충 수동으로 작업할 수 있겠지만 해당 파일이 수백 ~ 수천개라면 도저히 수동으로 할 엄두가 나지 않겠죠. (물론 까라면 까야겠습니다만..)

단순무식한 일을 전문으로 하는 컴퓨터를 놔두고 고급인력인 사람이 (어라 무언가 말이 이상하다..) 단순반복노가다업무를 하면 안되겠지요. 그래서 네박사에게 도움을 요청하니 역시나 답을 주더군요.

파일 내용 일괄 변경 및 파일 일괄 관리
http://blog.naver.com/neptune4781?Redirect=Log&logNo=90026709880

그 외에 네이버에서 관련 검색어로 검색하면 많은 결과값을 보여줍니다.
http://search.naver.com/search.naver?where=nexearch&sm=ies_hty&ie=utf8&query=perl%20-pi%20-e

제가 원하던 것은 그냥 파일의 특정 부분을 특정 내용으로 치환하는 것이었기에 위의 블로그에 소개된 명령어만으로도 충분했구요. 그런데 리눅스에서 먹히는 명령어라.. 일단 윈도우에서 해당 기능을 하는 유틸리티가 없나 싶어서 잠깐 찾아봤는데 없는 것 같더군요. 그래서 윈도우에서도 리눅스 명령어를 사용할 수 있는 시그윈(cygwin)을 깔기로 했습니다.

Cygwin Information and Installation : http://www.cygwin.com/

시그윈을 깔고 내용을 바꿀 파일을 위치시킨 다음에 다음 명령어를 사용해서 일괄적으로 바꿀 수 있었네요. 덕분에 작업을 아주 편리하게 마쳤습니다. 수동으로 하라고 하면 사람은 못하죠..

find ./ -name "*.확장자" -exec perl -pi -e 's/원래문자열/바꿀문자열/g' {} \;

위의 명령어를 사용하면 되구요. 혹시나 문자열에 특수문자인 ", / 등이 있다면 앞에 \을 붙여주면 됩니다.

'9. 도서관 > __사. Network' 카테고리의 다른 글

Ubuntu, 부트 시간을 그래프로~ bootchart... 나만 모른겨?  (0) 2008.12.22
minicom  (0) 2008.12.16
우분투 그놈 터미널 단축키  (0) 2008.12.15
우분투 DNS 초기화 증상  (0) 2008.12.15
집보드  (0) 2008.12.13

댓글

💲 추천 글