Shell-Script
批量重命名文件的升序號
我有一批文件:
$ ls Li1Fe1O2_11 Li1Fe2O3_8 Li1Fe3O4_2 Li1Fe3O4_5 Li2Fe1O3_16 Li2Fe2O4_12 Li3Fe1O4_19 Li3Fe1O4_22 Li1Fe1O2_14 Li1Fe2O3_9 Li1Fe3O4_3 Li1Fe3O4_6 Li2Fe1O3_17 Li2Fe2O4_13 Li3Fe1O4_20 Li1Fe2O3_7 Li1Fe3O4_1 Li1Fe3O4_4 Li2Fe1O3_15 Li2Fe2O4_10 Li3Fe1O4_18 Li3Fe1O4_21
我想將它們重命名為:
enum-00132 enum-00133 enum-00134 ...
我試圖研究重命名但沒有成功。
用這個:
c=132 for f in *; do mv -v "$f" "enum-$(printf '%0*d' 5 $c)" c=$(($c+1)) done
c=<your_starting_number>
; _ 我假設132
在你的問題中。然後for
循環通過目前目錄中的所有文件執行。對於每個文件,mv
都會呼叫該命令。該printf
實用程序列印帶有前導零的新文件名。最後計數器變數$c
遞增+1。**編輯:**如果你只想要目錄使用這個(
*/
只有 machtes 目錄,其餘的保持不變):c=132 for d in */ ; do mv -v "$d" "enum-$(printf '%0*d' 5 $c)" c=$(($c+1)) done