|
|
09 мая 2011
Оглавление: 1. Xargs 2. Примеры использования
xargs — утилита для формирования списка аргументов и выполнение команды в UNIX-подобных операционных системах. Команда xargs объединяет зафиксированный набор заданных в командной строке начальных аргументов с аргументами, прочитанными со стандартного ввода, и выполняет указанную команду один или несколько раз.
Параметры запуска
- -l число
- Выполнять команду для каждой группы из заданного числа непустых строк аргументов, прочитанных со стандартного ввода. Последний вызов команды может быть с меньшим числом строк аргументов. Считается, что строка заканчивается первым встретившимся символом перевода строки, если только перед ним не стоит пробел или символ табуляции; пробел/табуляция в конце сигнализируют о том, что следующая непустая строка является продолжением данной. Если число опущено, оно считается равным 1. Опция -l включает опцию -x.
- -i зам_цеп
- Режим вставки: команда выполняется для каждой строки стандартного ввода, причем вся строка рассматривается как один аргумент и подставляется в начальные_аргументы вместо каждого вхождения цепочки символов зам_цеп. Допускается не более 5 начальных_аргументов, содержащих одно или несколько вхождений зам_цеп. Пробелы и табуляции в начале вводимых строк отбрасываются. Сформированные аргументы не могут быть длиннее 255 символов. Если цепочка зам_цеп не задана, она полагается равной { }. Опция -i включает опцию -x.
- -n число
- Выполнить команду, используя максимально возможное количество аргументов, прочитанных со стандартного ввода, но не более заданного числа. Будет использовано меньше аргументов, если их общая длина превышает размер, или если для последнего вызова их осталось меньше, чем заданное число. Если указана также опция -x, каждая группа из указанного числа аргументов должны укладываться в ограничение размера, иначе выполнение xargs прекращается.
- -t
- Режим трассировки: команда и каждый построенный список аргументов перед выполнением выводится в стандартный поток ошибок.
- -p
- Режим с приглашением: xargs перед каждым вызовом команды запрашивает подтверждение. Включается режим трассировки, за счет чего печатается вызов команды, который должен быть выполнен, а за ним — приглашение ?…. Ответ y приводит к выполнению команды; при каком-либо другом ответе, включая возврат каретки, данный вызов команды игнорируется.
- -x
- Завершить выполнение, если очередной список аргументов оказался длиннее, чем размер. Опция -x включается опциями -i и -l. Если ни одна из опций -i, -l или -n не указана, общая длина всех аргументов должна укладываться в ограничение размера.
- -s размер
- Максимальный общий размер каждого списка аргументов установить равным заданному размеру. Размер должен быть положительным числом, не превосходящим 470. При выборе размера следует учитывать, что к каждому аргументу добавляется по одному символу; кроме того, запоминается число символов в имени команды.
- -e
- Цепочка символов лконф_цеп считается признаком логического конца файла. Если опция -e не указана, признаком конца считается подчеркивание. Опция -e без лконф_цеп аннулирует возможность устанавливать логический конец файла. Команда xargs читает стандартный ввод до тех пор, пока не дойдет до конца файла или не встретит цепочку лконф_цеп.
Выполнение программы xargs прекращается, если она получает от команды код завершения −1 или если команда не может быть выполнена. Если команда — это shell-программа, она должна явно выполнять exit с соответствующим аргументом, чтобы избежать случайного возврата кода −1.
Просмотров: 2325
|