>> Read No. 2362 article  
[쉘스크립트] renameto 특정 파일/디렉토리 이름 바꾸

등록 2002-03-29 01:40:00     조회 5
이름 산이    

		안녕하세요?
 몇달전에 벼르던 녀석인데 이제서야 완성했습니다.
KLDP에 상당히 많은 유용한 관련 팁들이 많은데 저의 직성에는 차지 않아서
만들어 보았습니다.
 비슷한 툴이 있을것 같은데 찾질 못해서...
 원래 초기 목적은 공백 문자열이 들어간 파일을 "_" 문자로 바꾸는게
목적이었는데 추가로 디렉토리도 가능하도록 만들었습니다.
 짜면서 고전(?)했었던 부분
  - 공백문자가 들어갈 경우의 for 구문($IFS 재설정으로 해결)
 - sed 's/FROM/TO/g' 와 sed "s/FROM/TO/g" 차이점
 - 디렉토리일 경우의 역순 만들기(20분 동안 해멤)
 - 기타 색깔로 출력(/etc/syscofig/init 참고로 해결)
  [쉘스크립트] renameto 특정 파일/디렉토리 이름 바꾸기
 본쉘로 짠 스크립트입니다.
 소스가 있는 곳 emoticon이곳에 올리기에 버겁군요)
http://ftp.linuxchannel.net/devel/renameto/renameto-sh.txt  사용법 및 기타
http://ftp.linuxchannel.net/devel/renameto/README.txt  사용한 예 : 스크린샷
http://www.linuxchannel.net/images/renameto.gif  [기능]
  - 특정 문자열의 파일을 찾아서 바꿈
 - 특정 문자열의 디렉토리를 찾아서 바꿈
 - 바꾸기 전에 view 기능 제공
 - 특정 디렉토리에서 검색가능
 - 현재디렉토리, 모든 서브디렉토리, 특정 깊이의 디렉토리 검색
  [간단 사용법]
 1. 설치(?)
renameto-sh.txt 파일을 다운받아 renameto 이름으로 바꾸고
퍼미션은 755 정도로 /usr/local/bin/renameto 나 $PATH로 복사해 놓습니다.
 2. 도움말
 $ renameto --help
 옵션에서
 -R은 하위의 모든 디렉토리에서 검색
-R0 은 현재 디렉토리에서만 검색
-Rn 은 현재디렉토리에서 그다음 n단계 디렉토리까지만 검색, n은 ([0-9]*)
-R 옵션이 없다면 현재디렉토리에서 만 검색
 -d, -dir, --d, --dir
  파일대신 디렉토리에 적용
  이 옵션이 없다면 기본적으로 파일을 그 대상으로 함
 -v, -view, --view, -t, -test, --test
  파일이나 디렉토리를 바꾸지 않고 그냥 찾아서 출력만 함(확인할때)
  이 옵션이 없다면 매치되는 파일이나 디렉토리를 찾아서 바꿈.
  찾을 문자열-> 바꿀 문자열
 '/from_str/to_str/'
 공백 문자열이 들어갈 수 있으므로 받드시 전체를 ' 나 "로 묶어줌
 from_str문자열을 to_str문자열로 바꿈
 양자의 구분자는 / 로 구분
 '찾을 디렉토리나 파일 대상'
 "* *" : 공백 문자열이 들어간 모든 파일이나 디렉토리 대상
"*" : 모든 파일이나 디렉토리 대상
"*.mp3" : 확장자(?)가 mp3인 모든 파일
"*.[hH][tT][mM][lL]" : *.html *.HTML *.Html ... 등과 매치
"/home/*.php" : /home 디렉토리를 대상으로 *.php 파일
"home/*.php" : 현재 디렉토리에서 상대 경로가 home 인 디렉토리
  3. 예제
 예제1. 현재 디렉토리에서(하위로 내려가지 않고) 파일이 *.MP3 인 파일을 찾아서
*.mp3로 바꿀려면 ?
 $ renameto '/MP3/mp3/' '*.MP3'
 이건 rename *.MP3 *.mp3 와 같습니다.
 예제2. /var/www/html 디렉토리 및 그하위 모두에서 공백 문자열이 들어간 모든
파일을 찾아서 공백을 없애려면?
 먼저 테스트(view)해 봅니다.
$ renameto -R -test '/ //' '/var/www/html/* *'
 맞게 출력된다면
$ renameto -R '/ //' '/var/www/html/* *'
 디렉토리일 경우에는
 $ renameto -R -dir '/ //' '/var/www/html/* *'
 END
----------------------
이름
암호


>> 관련글
2362 [쉘스크립트] renameto 특정 파일/디렉토리 이름 바꾸기  산이  2002.03.29  ....
  답장 RE: [쉘스크립트] renameto 특정 파일/디렉토리 이름 바꾸기  단n키  2002.03.29  ....
  목록보기 윗글 아랫글
글쓰기
답장쓰기 수정 삭제
정규표현식 [ 상세 검색 ]
페이지로딩: [ 0.66 초 ] 작업시간: [ 0.14 초 ]

Copyleft 1999-2026 by JSBoard Open Project
Theme Designed by IDOO All right reserved
[TOP]

적수네 동네
+
| 적수네 동네
| 공부방
| 리눅스 잡지 서고
| LSN 소스
| 링크 모음
+---+
게시판
+
| 떠들어보세!
| 질문과 답변
| 새소식과 정보
| 1원짜리 팁?
| 대화방
+---+
칼럼?
+
| 세하 훔쳐보기
| Welcome2nite
| 혜진의 염장판
+---+
리눅스 상표권
+
| 반대 서명란
| 토론 게시판
+---+
GNU
+
| GNU 선언문
| GNU GPL
| GNU 미러 목록
+---+
프로젝트?
+
| 리눅스카운터
| RC5DES
| 실질헌법 제작
+---+
커널 소식
+
| 안정 버젼: 2.4.14
+---+
테마 선택
+
LSN 방송국?
+
| OFF AIR
+---+
회원
+
| 로그인
+---+
[ 적수네 동네 ] [ 리눅스 상표권 독점 반대 ] [ 한글 리눅스 문서 프로젝트 ] [ KrLine ] [ 사랑넷 ] [ Valid HTML 4.0! ] [ SlashDot ] [ Freshmeat ]
Copyleft (C) 1998-2001 Byeong-Chan Kim . License
TIME: 1791037639
System by WYZsoft, HDD by I.O.Linux, Mizi Research, Embryo, WOWLINUX, Domain by SarangNet, Network by KrLine.