我已经通读了man pngcrush
,似乎没有办法粉碎 PNG 文件并将其保存在原始文件上。我想压缩几个文件夹的 PNG,所以用一个命令完成所有工作会很有用!
目前我正在做pngcrush -q -d tmp *.png
然后手动将文件从tmp
目录剪切粘贴到原始文件夹。所以我想使用mv
可能是最好的方法?有什么更好的想法吗?
小智 27
从 1.7.22 版开始,pngcrush
有一个覆盖选项。
尝试
pngcrush -ow file.png
Run Code Online (Sandbox Code Playgroud)
有关更多信息,请参阅更新日志:
Version 1.7.22 (built with libpng-1.5.6 and zlib-1.2.5)
Added "-ow" (overwrite) option. The input file is overwritten and the
output file is just used temporarily and removed after it is copied
over the input file.. If you do not specify an output file, "pngout.png"
is used as the temporary file. Caution: the temporary file must be on
the same filesystem as the input file. Contributed by a group of students
of the University of Paris who were taking the "Understanding of Programs"
course and wished to gain familiarity with an open-source program.
Run Code Online (Sandbox Code Playgroud)
fra*_*ous 17
全部在一行:
for file in *.png; do pngcrush "$file" "${file%.png}-crushed.png" && mv "${file%.png}-crushed.png" "$file"; done
Run Code Online (Sandbox Code Playgroud)
应该这样做。
(尽管到目前为止,在我自己的测试中,我测试的 png 中只有不到一半pngcrush
在之后变小了,所以给我上色了。)