您必须经常运行一些命令(或序列)。例如:
]$ for j in out/Cap*.png; do convert -strip $j WM/watermark.png -composite -quality 72 -sampling-factor 4:2:0 jpgout/$(basename $j .png)_wm.jpg; done
]$ for j in out/Cap*.png; do convert -strip $j -quality 74 -sampling-factor 4:2:0 jpgout/$(basename $j .png).jpg; done
事实上,一切都保持不变。只有文件掩码改变,压缩比可以改变。如何简化这个过程?目前我正在寻找一支历史上招募的球队,但这不是一个选择。
我知道您可以编写脚本(有时我会这样做)或创建别名。我没有做后者,我不太明白它们的用途。我想听听有关在这种情况下进行的最佳方式的意见。如果这个问题可以用别名解决,我需要一个关于如何做的提示。
当您想为单个命令提供短名称时,Bash 别名很有用。例如:
在您的情况下,由于它实际上是一个带有循环的迷你场景,因此使用函数是有意义的。这里的优点是可以在调用时设置参数。
这个函数的第一个参数是一个表示输出图像质量的数字,然后需要一个源文件列表。你可以像这样使用它:
您可以使用 mogrify 而不是 convert ,它将遍历目录中的文件。
https://imagemagick.org/script/mogrify.php
简化一些 Bash 命令