39 lines
2.3 KiB
Markdown
39 lines
2.3 KiB
Markdown
|
|
# 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]}} {{команда}}`
|