我有M1.jpg M2.jpg ....... M100.jpg在/ Users / KanZ / Desktop / Project / Test / 我想Flip Canvas垂直它们,保存并替换它们而不是旧文件。如何编写此问题的脚本?
答案 0 :(得分: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