Wie finde ich das Bild mit der größten Breite in einer Gruppe von Bildern?

Wie finde ich das Bild mit der größten Breite in einer Gruppe von Bildern?

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

verwandte Informationen