[해결] 100개의 파일명을 한꺼번에 바꾸려면 무엇을 공부해야 하나요?
글쓴이: duoh5 / 작성시간: 월, 2007/09/17 - 11:16오후
예를 들면 아래와 같은 파일리스트가 있습니다.
KBS 역사스페셜 제001회 [영상복원, 무용총 고구려가 살아난다](19981017).avi
KBS 역사스페셜 제002회 [고종의 X파일! 군함을 구입하라](19981024).avi
KBS 역사스페셜 제003회 [발해는 왜 동해를 건넜는가](19981107).avi
KBS 역사스페셜 제004회 [고구려군, 아차산 최후의날](19981114).avi
KBS 역사스페셜 제005회 [고려시대, 우리는 로켓을 쏘았다](19981121).avi
KBS 역사스페셜 제006회 [조선 최대 정치이벤트-화성회갑잔치](19981128).avi
KBS 역사스페셜 제007회 [한반도, 고인돌왕국의 수수께끼](19981208).avi
KBS 역사스페셜 제008회 [조선판 사랑과 영혼 - 400년전의 편지](19981212).avi
...............
KBS 역사스페셜 제100회 [천년전 벤처기업, 장보고의성공비결](20010127).avi
100개를 한꺼번에..
KBS.역사스페셜.001.avi
KBS.역사스페셜.002.avi
KBS.역사스페셜.100.avi -> 이렇게 바꾸고 싶은데..
무슨 명령어나 문법같은 걸 알아야 하나요?
ps. 질문이 부족한 것 같아서 일부 수정했습니다.
원래 작성했던 "***"이 오해의 소지가 있는 것 같네요.
답변 달아주셔서 고맙습니다.
Forums:
Bash Script, 정규표현식...
Bash 스크립트를 찾아보시기 바랍니다.
Advanced Bash Script Tutorial 을 보시길...
====
( - -)a 이제는 학생으로 가장한 백수가 아닌 진짜 백수가 되어야겠다.
음.. 전 _를
음.. 전 _를 선호하는데 대부분 .을 선호하시는군요 동영상에는..
일단 tr과 for 등을 이용하시면 될 듯 합니다. 이게 될려나.. 아래와 같이..
요게 어떤 의미냐면.. tr은 우선 어떤 단어나 문자를 대상 문자나 단어로 교체 해 줍니다. mv는 보통 이름 바꿀 때도 씁니다. 그렇다면 mv로 원본 파일명을 주고 뒤에 echo로 원본 파일명을 파이프를 통해 tr에 넘기고 각 줄마다 전부 교체 작업을 해서 그 내용을 되돌려 줍니다 STDOUT로.. tr의 기본 입력은 STDIN이지만, 파일이나 파이프로 부터 받을 수도 있기 대문에 저렇게 한 것입니다. 출력 또한 마음 먹으면 조정이 가능하겠죠.
이런 식으로 해서 작업 하는 것이 아마 KLDP 위키의 CD 굽기에 대한 문서중 오디오 CD를 구울 때 어떻게 해야 하는지에 대한 내용이 기록 된 문서에 포함 되어 잇던거 같습니다. 잘은 기억이 안 나지만...
뭐 쉘 스크립트가 싫으시면 PHP나 Perl, C로도 하실 수 잇겠지만 쉘 스크립트로 하시는게 지금은 가장 간단하고 쉬우실 서 같군요.
----
Lee Yeosong(이여송 사도요한)
E-Mail: yeosong@gmail.com
HomePage: http://lys.lecl.net:88/
Wiki(Read-Only): http://lys.lecl.net:88/wiki/
Blog: http://lys.lecl.net:88/blog
MSN: ysnglee2000@hotmail.com
----
절이 싫으면 중이 떠나는 것이 아니라, 절이 싫으면 중이 절을 부숴야 한다.
때때
사람천사
함...짜봤는데요... 일
함...짜봤는데요...
일단 ... 현재 나와있는 리스트의
정도만으로 테스트 해 봐서 버그가 있을수 있습니다. (절대 책임 없습니다...ㅠㅠ)
mv 가 들어 있는 #은 그대로 막은 상태에서 한번 테스트 해 보시고
결과가 좋으면 #을 제거하시고 사용하시기 바랍니다...# 제거하실때 sleep 부분을
#으로 막으면 조금더 빠르겠죠...확인용으로 잠시 세운겁니다.
혹시 "회" 짜때문에 않됀다면 어쩔수가 없을것 같네요..
이 프로그램의 요점은 "회" 자 이거든요 ㅠㅜ
고맙습니다.
내용을 보고 열심히 공부를 해야겠네요.
쉘스크립트로도 가능하군요.
정말 고맙습니다. :-)
리눅스,.. 항상 느끼는 거지만 어려워요.. ㅡ.ㅡ;
기본 rename 말고 rename
기본 rename 말고 rename 이라는 유틸이 있습니다.
이걸로 정규식으로 바꾸기 하면 한방입니다.
rename "s/제(\d+)화.*\.avi/\1.avi/g" *.avi
패키지 깔기 귀찮아서 해보지는 않았습니다.
emerge money
http://wiki.kldp.org/wiki.php/GentooInstallSimple - 명령어도 몇개 안되요~
https://xenosi.de/
seq와 for loop
seq와 for loop으로 아주 간단하게 해결이 가능합니다.
아래 코드를 참고해주세요.
잘 되겠다 싶으시면 echo는 빼고 실행하시면 됩니다. `는 backtick, Tab키 위에 있는 키입니다. 정말 편하지 않나요. ^_^
정말 간단하네요..
seq로 for문 100번 돌리는 건 쉽게 했었는데,
${N} 이 $N으로 바뀌어 질수 있다는건 몰랐는걸요?
앞으로 많이 응용해먹어야 겠습니다. ㅎㅎ~
감사~
일단 머리말에
일단 머리말에 [해결]이라고 붙여놓아야겠습니다.
답변 해주신 분들 모두 고맙습니다. 꾸벅. :-)
ps. 원래 100% 이해하고 머리말을 고치려고 했는데,
언급해 주신 문법을 제가 이해하려면 한참 걸리겠네요. ㅡ.ㅡ;
리눅스,.. 항상 느끼는 거지만 어려워요.. ㅡ.ㅡ;
댓글 달기