커피닉스, 시스템 엔지니어의 쉼터
  find 명령어로 파일 속 내용 변경하기 작성일 : 2009/08/31 11:19
 
  • 글쓴이 : 우주곰
  • 조회수 : 8194
     
    여기에서는 perl을 이용하였지만, sed를 이용하여서도 가능하다.
    그리고 혹시 모를상황을모를상황을 대비하여 백업파일을 생성하고 싶다면 perl -pi -e 에서 perl -pi.bak -e 를 추가하면 자동적으로 "파일이름.bak"가 생성된다.
    예시를 보면서 확인해보면 이해가 더 빠를 것이다.


    파일속 mms: 찾기찾기
    find . -type f -name "webfile.html" -exec grep "mms://vod.xxxx.co.kr" {} /dev/null \;

    파일 속 IP을 도메인으로 바꾸기
    find . -type f -name "webfile.html" -exec perl -pi -e 's/211.xx.xx.39/vod.xxxx.co.kr/g' {} \;

    특정 파일 속 IP 도메인으로 바꾸기
    find . -type f -name "[0,1][0-9].html" -exec perl -pi -e 's/211.xx.xx.39/vod.xxxx.co.kr/g' {} \;

    압축
    for i in $(find . -name 'webfile.html'); do tar -rvf webfile.tgz $i; done

    이외에도 여러 옵션을 사용하여 응용하면 더욱 강력한 기능을 얻을수있다.


    커피닉스, 시스템 엔지니어의 쉼터 / URL : http://coffeenix.net/board_view.php?bd_code=1687