2012-12-23 36 views
1

我有M1.jpg M2.jpg ....... M100.jpg在/用戶/ KanZ /桌面/項目/測試/ 我想Flip Canvas垂直它們,保存和替換它們而不是舊文件。我該如何爲這個問題編寫腳本?翻轉帆布垂直的外殼腳本

回答

1

你可以做到這一點與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 
+0

它不能正常工作。使用此代碼無法找到文件或目錄 – kantawit

+0

@kantawit您可能在您的問題或cmdline中指定了錯誤的目錄路徑 - 它對我有用。 –

+0

我在/Users/KanZ/Desktop/Project/Test/M*.jpg中輸入這樣的文件: ; do convert「$ file」 -flip「$ file」; 完成 – kantawit