myGully.com Boerse.SH - BOERSE.AM - BOERSE.IO - BOERSE.IM Boerse.BZ .TO Nachfolger
Zurück   myGully.com > Computer & Technik > Linux & BSD
Seite neu laden

Linux Befehl Bildgröße DPI

Willkommen

myGully

Links

Forum

 
Antwort
 
Themen-Optionen Ansicht
Ungelesen 17.04.14, 10:52   #1
musv
Mitglied
 
Registriert seit: Dec 2010
Beiträge: 360
Bedankt: 127
musv leckt gerne myGully Deckel in der Kanalisation! | 117527 Respekt Punktemusv leckt gerne myGully Deckel in der Kanalisation! | 117527 Respekt Punktemusv leckt gerne myGully Deckel in der Kanalisation! | 117527 Respekt Punktemusv leckt gerne myGully Deckel in der Kanalisation! | 117527 Respekt Punktemusv leckt gerne myGully Deckel in der Kanalisation! | 117527 Respekt Punktemusv leckt gerne myGully Deckel in der Kanalisation! | 117527 Respekt Punktemusv leckt gerne myGully Deckel in der Kanalisation! | 117527 Respekt Punktemusv leckt gerne myGully Deckel in der Kanalisation! | 117527 Respekt Punktemusv leckt gerne myGully Deckel in der Kanalisation! | 117527 Respekt Punktemusv leckt gerne myGully Deckel in der Kanalisation! | 117527 Respekt Punktemusv leckt gerne myGully Deckel in der Kanalisation! | 117527 Respekt Punkte
Standard

Hab lang nicht mehr reingeguckt.

Zitat:
Zitat von Calli91 Beitrag anzeigen
kann man find mit exiftool benutzen? ich denke ja mal eher nicht.
Warum nicht? Wir sind ja hier nicht bei Windows. Ich hab da mal ein S***** geschrieben. Das liest die Auflösung aus und schreibt den Dateiname in eine Datei, wenn die Bildauflösung kleiner als die vorgegebene Mindestauflösung ist.

checkSize (muss mit chmod 755 ausführbar gemacht werden):
Code:
#!/bin/bash
# überprüft die Bildgröße
# für das aktuelle Verzeichnis

# Übergabe Dateiname - prüft nur die aktuelle Datei
# Kein Parameter - prüft das aktuelle Verzeichnis

MIN_WIDTH=300
MIN_HEIGHT=300

function checkaspect()
{
        IMG_SIZE=$(exiftool "$line" | grep "Image Size")
        RES=$(echo $IMG_SIZE | sed "s/.*:\s//")
        XRES=$(echo $RES | cut -d "x" -f1)
        YRES=$(echo $RES | cut -d "x" -f2)

		if [ "$YRES" -lt "$MIN_HEIGHT" ] || [ "$XRES" -lt "$MIN_WIDTH" ]; then
                echo -e "\033[46;0;31m$RES" "\t" "$line" "\033[0m" 
                echo "$RES" "\t" "$line" >> "small_pics.txt"
        else
                echo -e "$RES" "\t" "$line"
        fi
}

if [ -n "$1" ]; then
        line="$@"
        checkaspect
else
        ls -1 *.jpg | while read line; do 
                checkaspect
        done
fi
Benutzung:
Code:
/pfad/zu/checkSize
prüft alle jpg-Dateien im aktuellen Verzeichnis und gibt diese mit der Auflösung aus. Ist ein Bild kleiner als 300x300 (siehe MIN_WIDTH und MIN_HEIGHT), dann erscheint der Dateiname rot. Der Eintrag wird auch in die Datei small_pics.txt geschrieben.

Code:
find . -iname "*.jpg" -exec /pfad/zu/checkSize {} \;
Jagt alle Dateien, die mit find gefunden werden durch checkSize. Kleine Bilder werden ebenfalls wieder nach small_pics.txt geschrieben.

Willst du anstatt der Bildauflösung die DPI-Zahl auswerten, schreib das S***** entsprechend um. Ansonsten macht es aber genau das, was du wolltest.
musv ist offline   Mit Zitat antworten
Antwort


Forumregeln
Du kannst keine neue Themen eröffnen
Du kannst keine Antworten verfassen
Du kannst keine Anhänge posten
Du kannst nicht deine Beiträge editieren

BB code is An
Smileys sind An.
[IMG] Code ist An.
HTML-Code ist Aus.

Gehe zu


Alle Zeitangaben in WEZ +1. Es ist jetzt 11:05 Uhr.


Sitemap

().