Admin관리자   |    Posting포스트   |    LogOut로그아웃
블로그   |    위치로그   |    태그로그   |    방명록 남겨 주시와요~~ ^^


視畵
about my life & photography
Category
All (366)
일상 (96)
여행 (46)
문학 (64)
사회 (20)
사진 (103)
예술 (4)
의료 (3)
개인 (19)
(5)
«   2008/11   »
Sun Mon Tue Wed Thu Fri Sat
            1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30            
여러개의 파일에서 일정 패턴을 문자열을 동시에 수정하기
Date : 2008/01/14 20:17
일정한 패턴을 가진 수백개의 파일을 수정해야 할때 여러분은 어떻게 처리하시나요? 어찌보면 나름대로 피곤할 수 있는 일을 처리할 수 있는 방법론입니다.

  1. 아래 예제 처럼, find,grep,xargs,perl,vi 와 같은 명령어 그리고 정규식을 이용한다.
    find . -type f  \( -name "*.txt" -o -name "*.doc" \) | xargs perl -pi -e "s/변경전/변경후/g"
    find . -name "*.txt" -exec perl -pi -e "s/변경전/변경후/g" {} \; 2>/dev/null
    perl -pi -e "s/변경전/변경후/g" *.txt
    vi -c "%s/변경전/변경후/g" -c "wq" test.txt
  2. bash, csh, perl, php 와 같은 스크립트 언어로 변경해주는 코드를 만든다.
  3. java 나 c 와 같은 고급 언어로 변경해주는 코드를 만든다.
  4. Editplus 와 같은 편집기의 바꾸기 기능에서 정규식을 이용한다.
  5. 매크로 기능이나 매크로 프로그램을 이용한다.
  6. 다행히 바꿔주는 전용 유틸리티 프로그램이 있다면 그것을 이용한다.
  7. 편집기에서 찾기, 바꾸기 기능을 이용한다.
  8. 편집기로 일일이 확인해서 바꿔준다.
  9. 부하 직원을 시켜 바꾸게 한다.
  10. 아르바이트를 고용해서 바꾸게 한다.
  11. 이도저도 귀찮다면, 다른 직업을 가질 것을 심각하게 고민해본다.

위에 열거한 방법들 중에서 어느 것이 보다 효율적이고 유익하다라고 단정할 수 없습니다. 각기 나름대로의 장단점을 가지고 있으니 적절하게 혼합해서 사용할 것을 권합니다.

-------------------------------
위의 글은 어느 홈페이지에서 읽은 글입니다.
진정한 의미는 1번과 같은 방안을 가르쳐 주기 위함이겠지만 나름대로 전산쟁이들의 고뇌를 옅볼 수 있는 듯...

이올린에 북마크하기
2008/01/14 20:17 2008/01/14 20:17
Top
트랙백 주소 : http://blog.neople.org/trackback/472
2008/01/15 00:48
덧글 주소 | 덧글 쓰기 | 수정/삭제
유닉스 계열이라면야 1번 정도의 레벨이면 그냥 끝납니다. 2번까지 갈 필요도 없습니다.

그러나 저러한 작업이 1회성이 아니고 혼자만의 작업으로 끝날수 없다면 ?
많은 이기종의 컴퓨터에서 혹은 어느 기업의 네트웍 망도 갖추어지지 않은 수십군데 지점에서 일어난다면 어떨까요?

2번 부터 10번까지는 내용에는 나와 있지 않지만 Windows를 포함한 다양한 OS환경 및 위의 작업에 소요되는 시간 과 비용을 고려하지 않을수 없다는 뜻으로 해석됩니다. 아마도 문제의 해결을 지시받은 사람은 머리깨나 아플겁니다. 11번은 "고민스러우니 차라리 사표쓰는게 낫겠다." 는 표현이겠고요.

뭔가 일을 도모할때는 크고 넓게 봐야 할 필요가 있습니다. 나중에 스케일이 커지면 감당하지 못하는 경우를 많이 봤습니다. 그게 관리자와 개발자의 차이겠지요.
2008/01/16 11:56
덧글 주소 | 수정/삭제
그러게...

나도 이전 이쪽 일에 관심 많을 때 생각이 많이 드네.
그때는 참...

세월이 많이 흐리니 그것도 추억인 듯...
[Login][OpenID?]
    
◀ 이전 페이지  |  1 |  ... 44 | 45 | 46 | 47 | 48 | 49 | 50 | 51 | 52 |  ... 366 |  다음 페이지 ▶
Creative Commons License
블로그 내에 모든 저작물은 크리에이티브 커먼즈코리아 저작자표시 - 비영리 - 변경금지 2.0 대한민국 라이센스에 따라 이용하실 수 있습니다.
최근 트랙백
펼치기
Today :
477
Yesterday :
1359
Total :
336125
Powered by :
Textcube
ver :
1.7.6 : Staccato
skin by :