한국어 Translate to English (by Google) 日本語に??します (by excite.co.jp)

티스토리 툴바

파일 정렬해서 이름 바꾸기

2012/01/16 20:24

파일을 1,2,3, ... 이런 식을로 정렬을 할 필요가 있다고 하자

그럼 개수가 적으면 수동으로 이름을 바꾸면 되지만 개수가 많으면 상당히 귀찮고

시간도 많이 걸린다. 이때 bash script를 만들어서 작업을 하면 편하게 할 수 있다.

#!/bin/bash 
num=1

## 처음 시작하는 숫자를 2번 줄에 입력한다.

## 여기서 거꾸로 정렬을 한 뒤에 번호를 붙여야 할 경우에는
## for file in `find . -maxdepth 1 -name '*.JPG' | cut -f 2 -d / | sort -r`; do
## 이렇게 *.JPG만 바꾸면 된다.

for file in *.JPG; do
        mv "$file" "$(printf "%04d" $num).JPG"
        let num=num+2
done

설명을 하자면 for문을 이용해서 확장자가 JPG라는 파일을 찾은 다음 번호를 붙여주게 되는데 이때 주의사항은 번호는 4자리가 붙는다는 것이다. %04의 경우 빈항목, 예를들어 1이라는 숫자가 붙는 파일의 경우 0001이라는 이름이 붙는다.

숫자는 적절히 바꾸면 되고 let num=num+2라는 항목은 수열의 공차가 2라는 말이다.

즉, 처음을 1로 시작하면

1, 3, 5, ...

이런식으로 숫자가 붙게 된다.


일반적으로 이 항목을 사용할 경우, 내림차순으로 정렬이 되는데

오름차순으로 이름을 붙이고 싶은 경우 find . -name '*.tif' | cut -f 2 -d / | sort -r 이라는 명령어만 넣어주면 된다. 


혹시 이해가 잘 안되시면 댓글을 남겨 주세요~~

p.s. <주의> 정렬을 잘못하신 경우에는 일단 파일들을 다른이름으로 바꾸고 다시 정렬을 하셔야합니다. 왜냐하면 정렬시 파일 이름이 겹칠 경우에는 컴퓨터는 멍청하기 때문에 파일이 없어지게 됩니다~~


저작자 표시
Trackback URL : http://heunoni.tistory.com/trackback/207 관련글 쓰기
  1. contactos con mujeres  Tracked from contactos con mujeres  2012/01/28 07:51   ×