Параллельное выполнение xargs в Bash: методы и примеры кода

Чтобы параллельно запускать xargs в сценарии Bash, вы можете использовать различные методы. Вот несколько примеров кода:

  1. Использование опции «-P» xargs:

    echo "item1 item2 item3" | xargs -P 3 -n 1 your_command

    В этом примере «item1», «item2» и «item3» передаются в качестве аргументов в your_commandпараллельно, при этом одновременно выполняется не более трех процессов.

  2. Использование GNU Parallel:

    echo "item1 item2 item3" | parallel your_command {}

    В этом примере «item1», «item2» и «item3» передаются в качестве аргументов в your_commandпараллельно с использованием GNU Parallel.

  3. Использование цикла while и фоновых процессов:

    echo "item1 item2 item3" | tr ' ' '\n' | while read -r item; do
    your_command "$item" &
    done
    wait

    В этом примере строка «item1 item2 item3» разбивается на отдельные строки с помощью tr, а затем каждый элемент обрабатывается параллельно с помощью фоновых процессов.

Это всего лишь несколько способов параллельного запуска xargs. В зависимости от вашего конкретного случая использования и требований вы можете выбрать наиболее подходящий метод.