在windows系統中有很多好用的圖片排序軟體,可以批量的進行圖片排序。然而在ubuntu中,圖片排序只能自己寫一個shell腳本,編寫shell代碼。下麵是具體的操作步驟。(1)、新建一個rename.sh文件(這個名字可以隨便起但是尾碼必須是.sh,而且一般放在與圖片集所在的目錄下),之後在文件 ...
在windows系統中有很多好用的圖片排序軟體,可以批量的進行圖片排序。然而在ubuntu中,圖片排序只能自己寫一個shell腳本,編寫shell代碼。下麵是具體的操作步驟。
(1)、新建一個rename.sh文件(這個名字可以隨便起但是尾碼必須是.sh,而且一般放在與圖片集所在的目錄下),之後在文件的內部寫入如下代碼(代碼中已經標註每條代碼的含義):
#!test-folder/bash 告訴這個文件是shell腳本 #mkdir images(你可以像這樣的建立一個文件夾 之後用cp指令將修改後的圖片放到這個文件夾中) #輸出本文件的說明 echo "this script is to rename picture" #設置圖片開始的順序變數 (我想讓圖片的名字從70884開始排序) i=70884 #names是一個準備更改的圖片集的索引(可以設置成任意值),./name49/* 表示names49文件夾下的所有圖片(可以改為自己的圖片集的位置) for names in ./names49/* do #輸出圖片名字names是一個變數 $names 表示引用這個變數的內容 echo $names #變數賦值,news是一個新的變數 news=$i echo "$news" #更改(如果將mv 變為cp的話就是將更名字後的圖片複製到指定的目錄下)當前的圖片 到指定的目錄下,並且命名為自己想要的名字$news.jpg mv $names ./names49/$news.jpg let i=i+1 done
(2)、整體代碼以及執行命令如下(方便查看對照更改):
整體代碼:
#!test-folder/bash echo "this script is to rename picture" i=70884 for names in ./names49/* do echo $names news=$i echo "$news" mv $names ./names49/$news.jpg let i=i+1 done
在當前目錄中打開終端,執行命令:
sudo sh ./rename.sh
註意:在運行該腳本時可能會提示 let:not found 因為上面代碼中出現了let這個指令。而sh指令預設是dash 而dash不支持let命令,所以要顯示的用bash 這個命令
更改為:
sudo bash rename.sh
如果仍然想要用sudo sh ./rename.sh 那麼必須要修改/bin/sh 指向bash.可以執行下麵的命令:
sudo dpkg-reconfigure dash
會出現一個對話框:
從圖片上的文字可以看出,使用dash可以整體提升系統的性能,所以最好不修改。如果你修改後,當然也可以用與上面同樣的命令修改回來。(對於部分關鍵字如 let,bash支持,而sh和dash並不支持,對於部分關鍵字則選擇使用bash。)