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.