Thumbnails aus allen Bildern im aktuellen Verzeichnis …

find .    -regextype posix-extended \
          -type f \
    -a    -iregex "$iregex" \
    -a \! -path "./$thumb_dir_name/*" |
    while read img ; do
        thumb="$thumb_dir_name/$img"
        mkdir -p $(dirname "$thumb")
        convert -resize 50 $img $thumb
    done

Diese „Pipeline“ hat den prinzipiellen Aufbau

find ... | while read img ; do ... ; done

Die Ergebnisse des Such-Prozesses „find“ werden also zeilenweise in einer „while“-Schleife abgearbeitet.

Das „find“-Kommando berücksicthigt dabei reguläre Dateien (keine Verzeichnisse, „-type f“), deren Name „iregex“ entspricht, und die nicht irgendwo im Verzeichnis „.thumbs“ liegen.

Die „while“-Schleife erstellt für jede gefundene Datei eine auf max. 50 Pixel Breite skalierte Version im Unterverzeichnis „.thumbs“. Dabei wird der komplette lokale Verzeichnisbaum, der solche Bilddateien enthält, nachgebaut, hierzu dient das „mkdir“-Kommando.

Siehe die nächste Seite für eine Besprechung des Rests des Hauptprogramms.