我有 M1.jpg M2.jpg ....... M100.jpg 在 /Users/KanZ/Desktop/Project/Test/ 我想翻转画布垂直它们,保存和替换它们而不是旧文件。我该如何为这个问题编写脚本?
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 回答