我需要重命名目錄中的所有圖像文件,並將它們命名為它們所在的文件夾的名稱...這可以使用 Bash 腳本嗎?
我還需要對它們連續編號(0001.jpg、0002.jpg、0003.jpg 等)。我遇到的問題是數字之間有一些跳躍..(0018.jpg、0019.jpg、0025.jpg、0026.jpg 等...)我想將 0025.jpg 重新命名為0020.jpg,0026 .jpg 為0021.jpg 等...
答案1
是的,這是可能的。您可以使用find /search/path -type d
查找所有目錄並使用 -exec 選項來執行一些以目錄路徑作為參數的操作。你可以有運行的 bash 腳本NUM=0; for file in /path/to/folder/*.jpg; do mv file NUM.jpg; let "NUM=NUM+1"; done;
或類似的東西
答案2
要使用此命令,您必須位於 .jpg 檔案所在的目錄中,或者您必須稍微自訂該命令。
let a=0; for i in *.jpg; do let a=a+1; b=`basename $PWD`; c=`printf %04d$b.jpg $a`; mv $i $c; done
輸出將如下所示:
0001<dirname>.jpg