cup*_*kob 3 linux terminal command-line
我正在寻找一个解决方案,使用终端和linux下的命令"convert"转换一组文件.我可以为每个文件使用"convert":
convert -quality 85 file.jpg file.jpg
Run Code Online (Sandbox Code Playgroud)
但我正在寻找类似的东西:
for each jpg do
convert -quality 85 $file $file
end
Run Code Online (Sandbox Code Playgroud)
有人能告诉我,我可以使用哪个命令?
Bri*_*new 11
for i in *.jpg; do
convert ... $i $i
done
Run Code Online (Sandbox Code Playgroud)
应该这样做.这适用于sh/bash/zsh等.它假定您的所有*.jpg文件都在当前目录中.否则,用适当的查找调用替换*.jpg,例如
for i in `find . -name "*.jpg" -print`; do
Run Code Online (Sandbox Code Playgroud)
注意反引号.这些表明应该执行封闭的命令,并将结果返回给调用结构(在本例中为for循环)
如果您使用zsh,那么您可以这样做
for i in **/*.jpg; do
Run Code Online (Sandbox Code Playgroud)
搜索通配符中的子目录,并使用高级zsh通配符语法进一步限定这些子目录.但是,我不确定bash在这个区域提供什么设施.
convert您可以使用其姐妹命令mogrify来编辑文件,而不是通过覆盖自身来编写每个文件.此外,这两个命令都有内置的globbing,因此它们可以在一次调用中修改所有图像,这比每个图像运行一次程序要快.有关更多信息,请参见ImageMagick命令行处理.
所以这将做:
mogrify '*.jpg' -quality 85
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
821 次 |
| 最近记录: |