![如何在一组图像中找到宽度最大的图像?](https://linux22.com/image/1010238/%E5%A6%82%E4%BD%95%E5%9C%A8%E4%B8%80%E7%BB%84%E5%9B%BE%E5%83%8F%E4%B8%AD%E6%89%BE%E5%88%B0%E5%AE%BD%E5%BA%A6%E6%9C%80%E5%A4%A7%E7%9A%84%E5%9B%BE%E5%83%8F%EF%BC%9F.png)
假设有 50 张图片,我想知道哪一张的宽度最大。我应该使用哪些命令?
答案1
此命令(从 ImageMagick 识别)输出具有最大宽度的图像:
identify -format "%w %h %f\n" *.png | sort -n -r -k 1 | head -n 1
-format "%w %h %f = 宽度, 高度, 文件名
结果:wh image.png
来源:在文件夹中查找最大图像尺寸: https://unix.stackexchange.com/questions/155544/find-largest-image-dimensions-in-folder
如果您的图像不在同一个文件夹中,请打开终端并从包含子目录的文件夹运行此脚本。
find . -iname "*.png" -type f -exec identify -format "%w %h %f\n" '{}' \; | sort -n -r -k 1 | head -n 1
注意:如果您有多个宽度相同的图像,则只会显示一个结果。要让所有图像列表按宽度排序,请从前置命令中删除 head -n 1。
答案2
此命令将在当前目录中搜索图像宽度。
在安装 imageinfo 之前,必须先使用以下命令:
sudo apt install imageinfo
然后输入此命令
find . -maxdepth 1 -type f -iregex ".*/.*\.\(jpg\|jpeg\|png\|tiff\|bmp\svg\)" \
-exec bash -c "echo -ne {}' '; imageinfo --width {}; echo " \;\
| sort -k2 -n
如果你只想要最大的一个,在上面的命令中添加一个管道
... | tail -n 1