Stapelkonvertierung mehrerer bestimmter Bilder, die über Dutzende von Ordnern verteilt sind

Stapelkonvertierung mehrerer bestimmter Bilder, die über Dutzende von Ordnern verteilt sind

Ich habe eine Liste mit JPG-Dateien, die sich alle in unterschiedlichen Ordnern auf meinem Nur-Befehlszeilen-Server befinden und die ich in PNG konvertieren muss.

Ich kenne den einfachen Befehl, um sie mit mogrify einzeln zu konvertieren. Aber ich habe ungefähr 300 Bilder mit unterschiedlichen Namen, die auf verschiedene Ordner verteilt sind, wie folgt:

/home/user/dfp/app/roundtable/wp-content/uploads/2022/06/play.jpg
/home/user/dfp/app/roundtable/wp-content/uploads/2021/02/turn.jpg
/home/user/dfp/app/roundtable/wp-content/uploads/2020/01/up.jpg
/home/user/dfp/app/roundtable/wp-content/uploads/2022/09/down.jpg
/home/user/dfp/app/roundtable/wp-content/uploads/2021/01/left.jpg
etc etc

In jedem dieser Verzeichnisse gibt es außerdem Tausende anderer Bilder, die ich überhaupt nicht ändern möchte. Nur die spezifischen Dateien in meiner Liste.

Gibt es eine einfache Möglichkeit, die Liste meiner Bilder stapelweise zu konvertieren? Ich habe tatsächlich eine Liste der Bilder, wie im obigen Beispiel, in einer TXT-Datei.

Antwort1

Sie können eine einfache Shell-Schleife verwenden, um die Dateinamen aus der Listendatei zu lesen und zu verarbeiten. In einer bashShell zum Beispiel:

while IFS= read -r file; do
  # your mogrify command on "$file"
done < path/to/listfile.txt

Sie können es entweder in der interaktiven Bash-Befehlszeile oder als Skript mit dem #!/bin/bashShebang oben ausführen.

verwandte Informationen