Как запустить преобразование PDF в TIFF параллельно?

У меня была аналогичная проблема после того, как я следовал этому руководству [1], а затем захотел снова избавиться от моста.

Оказалось, что сам факт упоминания br0в hostapd.confпривел к тому, что он появился снова, даже после удаления его всеми возможными способами. Надеюсь, это поможет кому-то еще..:)

interface=wlan0
bridge=br0 <- delete!
#driver=nl80211
ssid=NameOfNetwork
hw_mode=g
channel=7

[1] https://www.raspberrypi.org/documentation/configuration/wireless/access-point.md

1
04.11.2021, 16:28
2 ответа

Один из способов — создать ввод оболочки для всех заданий:

for file in *.pdf
do
    printf 'pdftoppm -tiff -f 1 -l 2 "%q" ~/tiff/directory/"%q"/"%q"' \
        "$file" "$file" "$file"
done

, а затем передать это в parallel -j N, где N — количество заданий, которые вы хотите запустить одновременно:

for file in *.pdf
do
    printf 'pdftoppm -tiff -f 1 -l 2 "%q" ~/tiff/directory/"%q"/"%q"' \
        "$file" "$file" "$file"
done |
parallel -j 8
2
05.11.2021, 00:51

Использование GNUparallel:

printf '%s\0'./*.pdf |
parallel --null --jobs 8 \
    pdftoppm -tiff -f 1 -l 2 '{}' ~/tiff/directory/'{/.}'/'{/.}'.tiff

Приведенный выше конвейер команд запустит вашу команду pdftoppmдля всех имен файлов, соответствующих *.pdfв текущем каталоге. '{}'заменяется на текущий путь, а '{/.}'заменяется на базовое имя текущего пути с удаленным суффиксом имени файла. Таким образом, если текущее имя файла ./file-02.pdf, тогда '{}'будет './file-02.pdf', а '{/.}'будет file-02.

Я подаю parallelс нулевыми -именами путей с разделителями из printf, чтобы иметь возможность справиться с любым возможным именем файла. Они читаются с --nullпо parallel.

Я позволил себе некоторые вольности с тем, каким должно быть имя пути назначения. Вы должны настроить это на то, что вы действительно хотите использовать.

2
05.11.2021, 07:53

Теги

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