GNU parallel
GNU parallel является утилитой командной строки для ОС Linux и других Unix-подобных операционных систем, которая позволяет выполнять shell-скрипты параллельно. GNU parallel - это свободное программное обеспечение, написанное Оле Танге на языке Perl. Программа доступна в соответствии с условиями лицензии GPLv3.[6] ИспользованиеЧаще всего используется для замены циклов, например for x in `cat list` ; do
do_something "$x"
done | process_output
на cat list | parallel do_something | process_output где файл с именем list содержит аргументы для do_something и где process_output может быть пустым. Скрипты использующие parallel часто легче читать, чем скрипты, использующие pexec. Parallel включает также
По умолчанию, параллельно запускается столько же задач, сколько и ядер процессора. Примеры find . -name "*.foo" | parallel grep bar
Эквивалентно: find . -name "*.foo" -exec grep bar {} +
Это поиск во всех файлах в текущем каталоге и его подкаталогах, чье имя заканчивается на find . -name "*.foo" -print0 | parallel -0 grep bar
Команда выше использует нулевой символ для разделения имен файлов. find . -name "*.foo" | parallel -X mv {} /tmp/trash
Эта команда использует find . -maxdepth 1 -type f -name "*.ogg" | parallel -X -r cp -v -p {} /home/media
Приведенная выше команда делает то же, что: cp -v -p *.ogg /home/media
однако первая команда, которая использует См. такжеПримечания
Ссылки
|