我需要一个命令,它允许我在图像文件夹中搜索具有最大宽度和最大高度的图像。截至目前,我正在使用 XNViewMP 来查找此信息,但我想要一种使用命令或 Thunar 自定义操作的更快方法。
更新:使用 Thunar 的自定义操作有一些很好的解决方案:https://forum.xfce.org/viewtopic.php?id=9106
第二页上最后一个使用 YAD 的内容是我发现的最好的。
答案1
使用identify
来自图像魔术通过排序,让我们更改输出格式以使其更容易:
我们希望按宽度或高度排序,因此它们应该很容易作为排序键字段进行寻址。要将宽度和高度输出为前两列,然后输出文件名,我们使用"%w %h %f\n"
.
然后,所得到的表格行列表将按第一列(宽度)或第二列(高度)w h somefile.png
进行数字排序 ( )。 我们反向排序 ( ),因此较大的值首先出现:-n
-r
在第一列中按宽度排序:
identify -format "%w %h %f\n" *.png | sort -n -r -k 1
按高度排序,位于第二列:
identify -format "%w %h %f\n" *.png | sort -n -r -k 2
第二个空格之后的行部分只是文件名,因此我们不需要对其进行转义;只需切断两列即可得到一个干净的文件名(只要名称不包含换行符)。
如果您对整个列表不感兴趣,而只对几个大文件感兴趣,请head
对结果使用:
identify -format "%w %h %f\n" *.png | sort -n -r -k 2 | head -n 3
当我们只显示最大的文件或多个文件时,也许我们不再真正关心大小,而是需要干净的文件名:
identify -format "%w %h %f\n" *.png | sort -n -r -k 2 | head -n 3 | cut -d ' ' -f 3-