某些圖片會是 1.jpg, 2.jpg, 10.jpg, 11.jpg, 100.jpg... 等, 使用看圖軟體看時, 總會看到 1, 10, 11, 12 ... 等, 而真正想要的順序是 1, 2, ... 到 100.
要解決此問題, 主要是要將 檔名 做下述修改:
- 1.jpg => 001.jpg
- 10.jpg => 010.jpg
- 100.jpg => 100.jpg
這樣子改完就會由 001, 002, 003 ... 開始照順序囉~
修改檔名的 Script, 有下述幾種做法: (使用 awk 的 sprintf 來做補 0 的動作)
ls | awk -F. '{system("mv " $0 " " sprintf("%03d.jpg", $1))}'
# 更改檔名時, 附檔名一律設為 jpg (目前較常用的是這個)ls | awk -F. '{system("mv " $0 " " sprintf("%03d.%3s", $1, $2))}'
# 檔名和附檔名分開紀錄, 更名時附檔名維持原檔名ls *.jpg | sort -n | awk '{system("mv " $0 " " sprintf("%03d.jpg", ++i))}'
# 經由 sort -n 排序過, 不管檔名是什麼.- 註: 這些 script 執行會直接更改, 以防意外, 建議先備份一份再來執行.