我想重命名文件在一個巨大的圖像文件夾,其中包含大量的子文件夾,並在其中的圖像。遞歸重命名與子文件夾的圖像集合
事情是這樣的:
ImageCollection/
January/
Movies/
123123.jpg
asd.jpg
Landscapes/
qweqas.jpg
February/
Movies/
ABC.jpg
QWY.jpg
Landscapes/
t.jpg
我要運行腳本,並以升序重命名他們,但他們留在其相應的文件夾中,這樣的:
ImageCollection/
January/
Movies/
0.jpg
1.jpg
Landscapes/
2.jpg
February/
Movies/
3.jpg
4.jpg
Landscapes/
5.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
但我的問題,依靠不能夠保留fil es在其相應的子文件夾中,而是將所有內容都移動到path/to/dir
根文件夾。
使用find命令,獲取所有文件的列表(找到您的主文件夾| grep「\ .jpg $」)會給你列表。使用for循環(計數器從0開始)並開始執行shenzi(mv $ {file} $(dirname $ {file})/ $ counter.jpg)。 for循環的最後一行將會((counter ++))。 there – 2014-10-31 16:50:45