간단한 bash 질문입니다
글쓴이: 스프링 / 작성시간: 화, 2020/05/12 - 11:03오전
abc001 ~ abc500 이라는 500개의 파일이 있습니다
이들을 숫자 제외하고 앞에 abc부분만 def 로 파일명을 바꾸고 싶은데 (def001~def500 이 되도록이요)
mv abc* def*
rename abc* def*
등등 해봐도 동작하지 않네요
정규식으로 처리하려 해도 숫자 부분을 변수로 받아서 그대로 넘겨주는 부분을 어떻게 해야 할지 모르겠습니다
파이썬 스크립트를 짜서 할 수 있긴 하지만, 예상보다 이런 작업이 자주 나와 bash 한 줄로 처리할 수 있는 좋은 방법이 없을지 질문 드립니다
미리 감사합니다!
Forums:
$ ls
근데 rename 이란 게 어느 시스템에서는 binary 실행파일이고 위와 같이 동작하는데 어디서는 정규식을 인자로 받는 펄 스크립트였고 그랬던 기억이 납니다. CentOS-7 에서는 위와 같이 동작하네요.
좋은 하루 되세요!
아 마지막에 대상파일을 지정하는 부분이 한번 더
아 마지막에 대상파일을 지정하는 부분이 한번 더 있군요.. 감사합니다!!
ㅎㅎ
ㅎㅎ
for i in $(seq -w 1 500); do mv abc$i def$i; done
일반적으로는...
for f in abc*; do mv $f $(sed "s/^abc/def/" <<<$f); done
댓글 달기