Команда, которая создает список аргументов для команды из текста, заданного в качестве стандартного ввода xargs (или считанного из указанного файла), таким образом позволяя, например, выполнить результаты поиска. Он предоставляется пакетом findutils

xargs - команда для создания и выполнения команд из стандартного ввода. xargs читает строки с разделителями и выполняет утилиты командной строки со строками в качестве аргументов.

Обычно для передачи строк в xargs через стандартный вывод используется труба (|).

Однако, xargs может быть сказано читать из другого файла вместо стандартного ввода, передавая опцию --arg-file или -a, как показано, например, в этого ответа . Это делает удивительно универсальную утилиту.

xargs предоставляется пакетом findutils, который является частью установки Ubuntu по умолчанию во всех текущих версиях. Этот пакет также предоставляет find. Две команды могут использоваться вместе, например:

find path tests | xargs commands

Поскольку xargs обычно разделяется на пробелы, желательно передать ему списки с нулевым разделением и использовать флаг -0: [ 1131]

find ... -print0 | xargs -0 ... 

find может выполнять команды для найденных файлов (либо со встроенными действиями, либо с использованием -exec), поэтому xargs может понадобиться редко с ним, но locate не может выполнять команды по его результатам таким образом, xargs может быть полезно с locate, снова используя нулевое разделение, если имена файлов могут содержать пробелы:

locate -0 pattern | xargs -0 command

Возможность передавать альтернативные файлы в STDIN в xargs позволяет использовать его за пределами классические обычаи, упомянутые выше. Например, вместо таких конструкций, как:

command $(cat file)

Мы можем использовать что-то вроде:

xargs -a file command