거대한 이미지 폴더에있는 파일의 이름을 변경하려고합니다. 많은 하위 폴더가 포함되어 있으며 이미지 내에 있습니다. 이 같은하위 폴더로 이미지 컬렉션의 이름을 재 지정
뭔가 : 지금은 때까지
ImageCollection/
January/
Movies/
0.jpg
1.jpg
Landscapes/
2.jpg
February/
Movies/
3.jpg
4.jpg
Landscapes/
5.jpg
:
ImageCollection/
January/
Movies/
123123.jpg
asd.jpg
Landscapes/
qweqas.jpg
February/
Movies/
ABC.jpg
QWY.jpg
Landscapes/
t.jpg
는 그리고 스크립트를 실행하고 오름차순으로 이름을 바꿀 수 있지만, 다음과 같이 해당 폴더에 유지하려면 다음 :
#!/usr/bin/env bash
x=0
for i path/to/dir/*/*.jpg; do
new=$(printf path/to/dir/%d ${x})
mv ${i} ${new}
let x=x+1
done
그러나 내 문제는 파일을 보관할 수 없다는 것에 의존합니다. es를 해당 하위 폴더에 추가하면 모든 것이 path/to/dir
루트 폴더로 이동됩니다.
find 명령을 사용하여 모든 파일 목록을 가져옵니다. (yourmainfolder | grep "\ .jpg $"를 찾으십시오) 목록이 표시됩니다. 루프 (카운터가 0부터 시작)를 사용하고 shenzi (mv $ {file} $ (dirname $ {file})/$ counter.jpg)를 시작하십시오. for 루프의 마지막 줄은 ((counter ++)). 거기에 –