xargs позволяет легко запускать утилиты на списки аргументов, даже если утилиты не поддерживают работу со списками. Реализуется простейшим образом – xargs каждый раз заново вызывает утилиту при запуске на список. Например, можно создать на основе списка множество директорий с помощью mkdir.
xargs utility reads space, tab, newline and end-of-file delimited strings from the standard input and executes utility with the strings as arguments
bash-3.2$ cat dir_lst.txt dir1 dir2 dir3 bash-3.2$ cat dir_lst.txt | xargs mkdir bash-3.2$ ls -ltr | grep dir -rw-r--r-- 1 petrredkin staff 15 Apr 13 22:42 dir_lst.txt drwxr-xr-x 2 petrredkin staff 64 Apr 13 22:43 dir1 drwxr-xr-x 2 petrredkin staff 64 Apr 13 22:43 dir2 drwxr-xr-x 2 petrredkin staff 64 Apr 13 22:43 dir3
Simple threads
Простая многопоточность в bash: делаем скрипт для одной сети/одного IP (с любым из скнов представленных ниже, например), далее делаем список сетей/IP, открываем его через cat и натравляем скрипт через xargs.
cat nets | xargs -n 1 -I ^ -P 10 bin/test ^