1. Liebe Forumsgemeinde,

    aufgrund der Bestimmungen, die sich aus der DSGVO ergeben, müssten umfangreiche Anpassungen am Forum vorgenommen werden, die sich für uns nicht wirtschaftlich abbilden lassen. Daher haben wir uns entschlossen, das Forum in seiner aktuellen Form zu archivieren und online bereit zu stellen, jedoch keine Neuanmeldungen oder neuen Kommentare mehr zuzulassen. So ist sichergestellt, dass das gesammelte Wissen nicht verloren geht, und wir die Seite dennoch DSGVO-konform zur Verfügung stellen können.
    Dies wird in den nächsten Tagen umgesetzt.

    Wir danken allen, die sich in den letzten Jahren für Hilfesuchende und auch für das Forum selbst engagiert haben.

Bash/Terminal: loop über jpg-Files

Dieses Thema im Forum "Software" wurde erstellt von WernerBeinhart, 27. September 2007.

  1. WernerBeinhart

    WernerBeinhart New Member

    Hallo Leute,

    ich möchte mit dem ImageMagick über alle *.jpg Files inkl. aller Subdirectories loopen
    Beim Windows funktioniert das in etwa so:
    FOR /R %%f IN (*.jpg) DO convert %%f -resize x512 %%f

    Leider bin ich etwas neu in der Mac-Welt:
    Im Moment sieht das Bash-Script so aus:
    for file in `ls`; do
    if [ -f $file ]; then
    echo $file
    convert $file -resize x512 $file
    fi
    done

    Meine Fragen:
    - Wie kann ich Datei-Endungen (z.B. nur jpg) mittels "if" feststellen?
    - Wie kann ich rekursiv durch Unterverzeichnisse loopen?

    Grüsse und Danke,

    Werner
     
  2. Convenant

    Convenant Haarfestiger

  3. WernerBeinhart

    WernerBeinhart New Member

    Hi Convenant ,

    danke für die rasche Hilfe -bin fündig geworden.
    So geht's:
    for file in `find . | grep -i '\.jpg$'`; do
    echo $file ": resize to a maximum of 512x521 pixel"
    convert $file -resize x512 $file
    done

    Grüsse

    Werner
     
  4. Convenant

    Convenant Haarfestiger

    Wow! Ich bin sicher, dass sich jeder Scripter nun freut. Ich hingegen seh' nur Sonderzeichen – freu’ mich aber natürlich auch, dass es geklappt hat.

    Solltest du mal Fragen im Bereich der Druckvorstufe haben, so zögere nicht diese mir zu stellen, damit auch ich mich mal klug fühlen kann.

    :D
     
  5. nikitelli

    nikitelli New Member

    alternativ müßte auch gehen

    for file in `ls *jpg`; do
    ...

    oder?
     

Diese Seite empfehlen