我有 M1.jpg M2.jpg ....... M100.jpg 在 /Users/KanZ/Desktop/Project/Test/ 我想翻转画布垂直它们,保存和替换它们而不是旧文件。我该如何为这个问题编写脚本?
问问题
238 次
1 回答
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 {}
- 这是翻转图像的实际命令。{}
's 是作为命令一部分的语法,find
它们表示找到的文件find
将被替换到哪里。所以在这里我们说使用选项convert
垂直翻转图像-flip
,但保持文件名不变。
或者:
您也可以使用循环和通配符来做到这一点:
for file in /Users/KanZ/Desktop/Project/Test/M*.jpg; do convert "$file" -flip "$file"; done
于 2012-12-23T04:23:35.737 回答