1
我有M1.jpg M2.jpg ....... M100.jpg在/用戶/ KanZ /桌面/項目/測試/ 我想Flip Canvas垂直它們,保存和替換它們而不是舊文件。我該如何爲這個問題編寫腳本?翻轉帆布垂直的外殼腳本
我有M1.jpg M2.jpg ....... M100.jpg在/用戶/ KanZ /桌面/項目/測試/ 我想Flip Canvas垂直它們,保存和替換它們而不是舊文件。我該如何爲這個問題編寫腳本?翻轉帆布垂直的外殼腳本
你可以做到這一點與convert,從find一點幫助,所以你不必寫一個循環:
find /Users/KanZ/Desktop/Project/Test/ -type f -name "M*.jpg" -exec convert {} -flip {} \;
說明:
find /Users/KanZ/Desktop/Project/Test/
- 調用find
工具並指定基本目錄以遞歸方式執行文件搜索。-type f
- 僅查找文件-name "M*.jpg"
- 僅查找文件有與M
開頭的名稱,並與.jpg
-exec ... \;
結束 - 對於每個找到的這樣的文件,在...
convert {} -flip {}
執行命令 - 這是實際命令翻轉您的圖像。 {}
的語法是find
命令的一部分,它們表示從find
找到的文件將被替換的位置。所以在這裏我們要說的是使用convert
垂直翻轉圖像-flip
選項,但保持文件名不變。或者:
你也可以用一個循環,並通配符做到這一點:
for file in /Users/KanZ/Desktop/Project/Test/M*.jpg; do convert "$file" -flip "$file"; done
它不能正常工作。使用此代碼無法找到文件或目錄 – kantawit
@kantawit您可能在您的問題或cmdline中指定了錯誤的目錄路徑 - 它對我有用。 –
我在/Users/KanZ/Desktop/Project/Test/M*.jpg中輸入這樣的文件: ; do convert「$ file」 -flip「$ file」; 完成 – kantawit