我試圖在數百個jpgs的Mac上將文件夾分類到單獨的文件夾中
pixelWidth
與/usr/bin/sips
之後。當我運行腳本時,它顯示一個
Error 4: no file was specified
。變量$f
在第一行是空的?
我認爲for f in *jpg
中的「f」在文件循環時引用了該文件。bash腳本在像素寬度後對JPEG進行排序
imgWid=$(/usr/bin/sips -g pixelWidth $f | sed -n 2p | cut -d":" -f2-)
for f in *jpg; do if [ "$1" == "$imgWid" ]; then; mv $f $dir1 2>/dev/null; fi; done
我希望能幫助我解決這個問題。
感謝您的回覆。我嘗試了你的建議,但沒有成功。跡線仍顯示空變量。只是爲了澄清我認爲我的問題是:)。當前目錄包含很多fex的jpgs。 3個已知寬度。所以我計劃使用'$ 1 $ 2 $ 3'的位置參數到'mkdir width $ 1'等來接收相關的jpgs並讓循環結束。如果您有任何其他想法,請回到我身邊。 – johne 2012-01-11 15:23:32
@johne我建議根據需要創建目錄,因此您不需要將正確的參數傳遞給代碼。請發佈您的更新代碼,並輸出'bash -x',以便我們可以看到發生了什麼。 –
2012-01-11 19:10:11
'@ douglas'我支持我在昨天的嘗試中肯定錯過了你的代碼。今天早上我再次嘗試,你的腳本只是通過這些jpgs。謝謝!! – johne 2012-01-12 12:11:50