Wie kann ich dieses Bildverarbeitungsskript parallelisieren?

0

Ich habe dieses Skript, das .CR2-Bilder von meinen Canon-Camern in JPEGs konvertiert. Die Bilder haben den Namen IMG_ {NNNN} .CR2, wobei {NNNN} die Bildsequenznummern der Kamera sind. Ich möchte es parallelisieren, um 4 oder 8 Kerne zu verwenden:

#!/bin/sh

for i in `find . -name '*.CR2' | sed 's;./IMG_;;' | sed 's;.CR2;;'`; do dcraw -c -h -w -M -b 1 -o 1 IMG_$i.CR2 | cjpeg -quality 80 > IMG_$i.jpg; done
user2800708
quelle

Antworten:

0

Finden Sie heraus, wie viele CPUs Sie haben, indem Sie sich / proc / cpuinfo oder ein anderes Tool ansehen.

Erstellen Sie mit Ihrem Befehl eine Reihe von Stapeldateien für jede CPU. Führen Sie dann die Stapeldateien mit "& amp;" aus. im Hintergrund laufen.

Raymond Burkholder
quelle