
Angenommen, es gibt 50 Bilder und ich möchte wissen, welches die größte Breite hat. Welche Befehle soll ich verwenden?
Antwort1
Dieser Befehl (identifiziert von ImageMagick) gibt das Bild mit der größten Breite aus:
identify -format "%w %h %f\n" *.png | sort -n -r -k 1 | head -n 1
-format "%w %h %f = Breite, Höhe, Dateiname
Ergebnis: wh image.png
Quelle: Suchen Sie nach den größten Bildabmessungen im Ordner: https://unix.stackexchange.com/questions/155544/find-largest-image-dimensions-in-folder
Wenn sich Ihre Bilder nicht im selben Ordner befinden, öffnen Sie ein Terminal und führen Sie dieses Skript aus einem Ordner mit Unterverzeichnissen aus.
find . -iname "*.png" -type f -exec identify -format "%w %h %f\n" '{}' \; | sort -n -r -k 1 | head -n 1
Hinweis: Wenn Sie mehrere Bilder mit der gleichen Breite haben, wird nur ein Ergebnis angezeigt. Um eine Liste aller Bilder nach Breite sortiert zu erhalten, entfernen Sie head -n 1 aus dem vorhergehenden Befehl.
Antwort2
Dieser Befehl sucht im aktuellen Verzeichnis nach Bildbreiten.
Vorher müssen Sie imageinfo installieren mit:
sudo apt install imageinfo
Geben Sie dann diesen Befehl ein
find . -maxdepth 1 -type f -iregex ".*/.*\.\(jpg\|jpeg\|png\|tiff\|bmp\svg\)" \
-exec bash -c "echo -ne {}' '; imageinfo --width {}; echo " \;\
| sort -k2 -n
Wenn Sie nur den größten möchten, fügen Sie dem obigen Befehl ein Pipe-Zeichen hinzu
... | tail -n 1