Linux: xargs с несколькими параметрами
xargs — это полезная команда, которую можно использовать для передачи входных данных из stdin в качестве параметров другим командам. Также xargs может выполнять другие трюки, например, запускать команды параллельно и т. д. В этом примере покажу вам, как передать несколько параметров команде.
Создаём файл с параметрами
Создадим файл и сохраним его как params.csv
1 2
3 4
5 6
7 8
9 10
Используем параметр -n
Теперь введем команду ниже. Xargs получает параметр из каждой строки, $0 — первый параметр, а второй — $1
cat params.csv| xargs -n2 bash -c 'echo "$0" + "$1" '
1 + 2
3 + 4
5 + 6
7 + 8
9 + 10
Что делать, если параметры не разделены пробелами? Xargs в Linux (в macOS нет) поддерживает параметр -d, позволяющий определить разделитель между параметрами. Предполагая, что файл параметров такой
1 , 2
3 , 4
5 , 6
7 , 8
9 , 10
Запустим xargs с параметром -d следующим образом:
cat params.csv| xargs -d ',' -n2 bash -c 'echo "$0" + "$1" '
1 + 2
3 + 4
5 + 6
7 + 8
9 + 10
Xargs — одна из самых полезных команд, она может использовать простые команды для многопроцессорных инструментов.
>>Click here to continue<<