]> Sergey Matveev's repositories - stargrave-blog.git/commitdiff
GNU parallel пример использования
authorSergey Matveev <stargrave@stargrave.org>
Wed, 27 Jan 2016 09:42:00 +0000 (12:42 +0300)
committerSergey Matveev <stargrave@stargrave.org>
Wed, 27 Jan 2016 09:42:00 +0000 (12:42 +0300)
Утилита GNU parallel (https://www.gnu.org/software/parallel/) выполняет
простую задачу: распараллеливает указанные задачи. В самой её
документации есть много примеров использования, но зачастую многие или
не сталкиваются с такими задачами или сталкиваются, но никуда не спешат
и просто find -exec blablabla {} \; сработает отлично.

Я чаще всего использую parallel для конвертации музыки. Вообще много для
чего, но 90% всех вызовов утилиты сводятся к музыке. Хочу я взять с
собой послушать какую-то музыку, а у меня бОльшая её часть в FLAC сжата.
Не имеет смысла тащить с собой такие размеры, так как на работе не до
качества. Так как это делается перед выходом, как-бы в попыхах, то
хочется реально побыстрее распараллелить процессороёмкую задачу.

    % parallel flac -d {} \; opusenc {.}.wav {.}.opus \; rm {.}.{wav,flac} ::: **/*.flac

либо можно последовательно:

    % parallel flac -d ::: **/*.flac
    % rm **/*.flac
    % parallel opusenc {} {.}.opus ::: **/*.wav
    % rm **/*.wav

Использовать его просто, а выполняет задачу отлично.


No differences found