2.3 KiB
Raw Blame History

xargs

Выполнять команду с аргументами, переданными по конвейеру из другой команды, файла и т.д. Ввод обрабатывается как единый блок текста и разбивается на части по пробелам, табуляциям, переводам строк и концу файла. Смотрите также: parallel. Больше информации: https://www.gnu.org/software/findutils/manual/html_mono/find.html#Invoking-xargs.

  • Выполнить команду, используя входные данные как аргументы:

{{источник_аргументов}} | xargs {{команда}}

  • Выполнить несколько команд в цепочке над входными данными:

{{источник_аргументов}} | xargs sh -c "{{команда1}} && {{команда2}} | {{команда3}}"

  • Выполнить новую команду для каждого аргумента:

{{источник_аргументов}} | xargs {{[-n|--max-args]}} 1 {{команда}}

  • Увеличить лимит параллельных процессов до 10 (по умолчанию 1; 0 означает максимально возможное число):

{{источник_аргументов}} | xargs {{[-P|--max-procs]}} 10 {{[-n|--max-args]}} {{1}} {{команда}}

  • Выполнить команду для каждой входной строки, заменяя вхождения заполнителя (здесь _) на входную строку:

{{источник_аргументов}} | xargs -I _ {{команда}} _ {{дополнительные_аргументы}}

  • Запросить подтверждение перед выполнением команды (подтвердить y или Y):

{{источник_аргументов}} | xargs {{[-p|--interactive]}} {{команда}}

  • Прочитать аргументы для команды из файла:

xargs {{[-a|--arg-file]}} {{путь/к/файлу}} {{команда}}

  • Разрешить команде доступ к терминалу для интерактивного ввода:

{{источник_аргументов}} | xargs {{[-o|--open-tty]}} {{команда}}