Ich verwende ImageMagick. Ich versuche, ein Skript zu schreiben, das 'n' Konvertierungsläufe startet. 'n' ist die vom Benutzer angegebene Zahl. Das Skript muss warten, bis alle 'n' Hintergrund-/Parallelprozesse abgeschlossen sind, bevor ein neuer Satz von 'n' Prozessen gestartet wird (oder die Anzahl der verbleibenden Prozessoren, wenn weniger als 'n').
Hier ist mein Code:
#!/bin/bash
for(( i=1; i<$n; i++))
do
xload -update 1 &
convert "${dir}"/*.jpg -flip -set filename:t '%d/%t-change' '%[filename:t].jpg'
wait
done
Wie kann ich die ersten ‚n‘ Dateien und dann die nächsten ‚n‘ Dateien konvertieren usw.
Antwort1
xload &
parallel convert {} -flip -set filename:t '%d/%t-change' '%[filename:t].jpg' ::: "${dir}"/*.jpg