Scroll to navigation

xargs(1) 2007-10-27-16:31 xargs(1)

НАЗВА

xargs - дозволяє побудову і виконання рядків команд зі стандартного вводу

СТИСЛО


[-0prtx] [-e[eof-ланцюжок]] [-i[ланцюжок-заміни]] [-l[кількість-рядків]] [-n кількість-аргументів] [-s кількість-символів] [-P кількість-процесів] [--null] [--eof[=eof-ланцюжок]] [--replace[=ланцюжок-заміни]] [--max-lines[=кількість-рядків]] [--interactive] [--max-chars=кількість-символів] [--verbose] [--exit] [--max-procs=кількість-процесів] [--max-args=кількість-аргументів] [--no-run-if-empty] [--version] [--help] [команда [початкові-аргументи]]

ОПИС

У цьому посібнику описується весія xargs від GNU. Програма xargs читає (розділені пробілами або новим рядком) аргументи зі стандартного вводу, і виконує команду (без задання - /bin/echo) один або більше разів з початковими-аргументами, за якими слідуватимуть аргументи, прочитані зі стандартного вводу. Порожні рядки стандарного вводу ігноруються. Буквальні пробіли або нові рядки аргументів можна екранувати за допомогою подвійних або одинарних лапок, або зворотнього слешу.

xargs може завершитись із наступним статусом:

0

успішно

123

якщо якийсь виклик команди завершився зі статусом 1-125

124

якщо команда завершилась зі статусом 255

125

якщо команду вбито якимось сигналом

126

якщо команду неможливо запустити

127

якщо команду не знайдено

1

у випадку якоїсь іншої помилки


КЛЮЧІ


Розгляне введені назви файлів як такі, що закінчуються нульовим символом '\0' замість пробілу, а лапки і зворотні слеші не як спеціальні знаки (тобто всі знаки розглянуто буквально). Вимикає ланцюжок кінця файлу, який оброблятиметься як і решта аргументів. --null корисний, коли ланцюжки аргументів можуть містити пробіли, лапки або обернені слеші. Програма find(1) з опцією -print0 спричинить вивід, придатний саме для цього режиму.


Встановлює ланцюжок вказівки кінця файлу до вказаного eof-ланцюжка. Якщо ланцюжок кінця файлу зустрінеться на окремому рядку вводу, решту вводу ігноровано. Якщо eof-ланцюжок не вказано, кінця файлу не буде. Якщо опустити опцію --eof, вказівником кінця файлу буде "_" (на окремому рядку).


Виведе підсумок можливих ключів xargs і завершить роботу.


Поміняє ланцюжки-заміни початкових аргументів на назви, прочитані зі стандартного вводу. Також, неекрановані пробіли не завершують аргументів. Якщо ланцюжок-заміни опущено, використовуватиметься стандартні "{}" (як у випадку з "find --exec"). Автоматично включає опції -x і -l 1.


Використає щонайбільше вказану кількість-рядків (не порожніх) на командний рядок; якщо не вказати аргумент кількість-рядків, вживатиметься 1. Хвостові пробіли спричиняють до того, що ввідні рядки логічно продовжуються на наступних рядках. Автоматично включає -x.


Використати щонайбільше вказану кількість-аргументів на один командний рядок. Якщо розмір перевищено (дивіться опцію -s), використовуватиметься менше за вказану кількість аргуметнтів, хіба було використано -x, в разі якого xargs завершить роботу.


Запитуватиме користувача, чи виконувати кожний командний рядок і читати рядок з терміналу. Виконуватиме команду тільки якщо відповідь розпочинатиметься з "y" або "Y". Автоматично включає -t.


Якщо стандартний ввід не містить символів, що не являються пробілами, не виконуватиме команди. За звичайних обставин, команду буде виконано принаймні один раз, якщо не було вводу.


Дозволити щонайбільше максимальну кількість-символів на один командний рядок, включаючи саму команду, початкові аргументи і завершувальні нульові символи ланцюжків-аргументів. Без задання цього значення, використовується до 20 кілобайт символів (досить багато).


Виводитиме командний рядок на стандарнтний пристрій помилок перед його виконанням.


Виведе номер версії xargs і завершить роботу.


Завершить програму, якщо розмір (дивіться опцію -s) перевищено.


Дозволити максимальну кількість-процесів; без задання - 1. Якщо кількість-процесів вказано як 0, xargs щонайбільше доволених процесів. Скористайтеся з -n разом з -P, у протилежному випадку, існує можливість лише одиничного виконання.

ПРИКЛАДИ

Простий приклад перенаправлення вводу у файл:


$ xargs >> test_$$
foo bar
baz
_
xargs надвучайно зручна у випадку, коли аргументи, надані команді перевищують максимальну кількість доволених. Аргументи можна передати через конвеєр, xargs дбаючи про кількість аргументів, переданих команді:


$ find /usr/src/linux/ -type f -regex '.*\.[ch]$' | \
xargs grep "kmalloc"

ДИВІТЬСЯ ТАКОЖ

find(1), locate(1)

2007-10-27-16:31 © 2005-2007 DLOU, GNU FDL