![bash에서 여러 파일의 이름을 공백으로 바꾸고 파일 이름 앞에 숫자를 추가하십시오.](https://linux55.com/image/132898/bash%EC%97%90%EC%84%9C%20%EC%97%AC%EB%9F%AC%20%ED%8C%8C%EC%9D%BC%EC%9D%98%20%EC%9D%B4%EB%A6%84%EC%9D%84%20%EA%B3%B5%EB%B0%B1%EC%9C%BC%EB%A1%9C%20%EB%B0%94%EA%BE%B8%EA%B3%A0%20%ED%8C%8C%EC%9D%BC%20%EC%9D%B4%EB%A6%84%20%EC%95%9E%EC%97%90%20%EC%88%AB%EC%9E%90%EB%A5%BC%20%EC%B6%94%EA%B0%80%ED%95%98%EC%8B%AD%EC%8B%9C%EC%98%A4..png)
내가 가지고 있는 파일 목록은 다음과 같습니다.
$ ls -rt1
First Day in Tokyo.mp4
First Day in Seoul.mp4
Second Day in Beijing.mp4
Third Day in Bangcock!.mp4
Last Day in Singapore.mp4
$
내가 원하는 것은:
01. First Day in Tokyo.mp4
02. First Day in Seoul.mp4
03. Second Day in Beijing.mp4
04. Third Day in Bangcock!.mp4
05. Last Day in Singapore.mp4
안감도 있나요?
답변1
for file in *
do
let ++i
mv "$file" "$(printf '%02d. %s' "$i" "$file")"
done
예:
$ cd "$(mktemp --directory)"
$ touch foo bar
$ for file in *
> do
> let ++i
> mv "$file" "$(printf '%02d. %s' "$i" "$file")"
> done
$ ls
'01. bar' '02. foo'