Как распараллелить этот скрипт обработки изображений?

234
user2800708

У меня есть этот скрипт, который преобразует изображения .CR2 с камер Canon в формат JPEG. Изображения называются IMG_ .CR2, где являются порядковыми номерами изображений с камеры. Я хотел бы распараллелить его, чтобы использовать 4 или 8 ядер:

#!/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 
0

1 ответ на вопрос

0
Raymond Burkholder

Выясните, сколько процессоров у вас есть, посмотрев / proc / cpuinfo или какой-нибудь другой инструмент.

Используйте вашу команду для создания серии командных файлов, по одному для каждого процессора. Затем запустите пакетные файлы с символом «&» для запуска в фоновом режиме.

Похожие вопросы