如何从文件夹中删除低于特定分辨率的图片
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何从文件夹中删除低于特定分辨率的图片相关的知识,希望对你有一定的参考价值。
我有一个或多或少随机图片文件的大文件夹,我用它来显示Wallch的桌面背景。因为我注意到有些图片的分辨率太低而不能看起来很好,所以我想摆脱低于1000像素的高度。
自从我最近开始使用Ubuntu以来,我怀疑这可以通过命令行中的几行代码来完成,但是我很缺乏使用它并希望避免任何过于灾难性的事情,因此在尝试我之前寻求帮助拥有。
这些图片总共大约4演出,大约3000张图片,大多以.png或.jpg结尾,但有时在.JPG中,其中一些在子文件夹中最多3个级别。
有什么建议?
答案
您可以使用imagemagick及其identify命令。 http://www.imagemagick.org/script/identify.php
例如像bash函数这样的东西,它以文件名作为参数,调整minX和minY
function rmImgBySize
{
minX=128
miny=96
xres=`identify -format "%[fx:w]" "$1"`
yres=`identify -format "%[fx:h]" "$1"`
if [ $xres -lt $minX ] || [ $yres -lt $minY ]
then
rm "$1"
fi
}
export -f rmImgBySize
find /path/to/basedir/with/pictures/ -iname "*.png" -o -iname "*.jpg" -o -iname "*.jpeg" -exec bash -c 'rmImgBySize "$0"' "{}" ;
-iname告诉名字匹配应该是case Insensitive -o tell“or”
man identify
man find
另一答案
find -name '*.jpg' -o -name '*.png' -exec
convert "{}" -print "%w:%h:%d/%f
" /dev/null ; |
awk -vFS=: '$1<680||$2<1000{print}' |
xargs rm
另一答案
identify -format "%w:%h:%f
" * | awk -F : '$2<1000 {print $3}' | xargs rm
(PS:你必须在图片目录中运行此命令)
以上是关于如何从文件夹中删除低于特定分辨率的图片的主要内容,如果未能解决你的问题,请参考以下文章