Xargs

Xargs

xargs

xargsутилита для формирования списка аргументов и выполнение команды в UNIX‐подобных операционных системах. Команда xargs объединяет зафиксированный набор заданных в командной строке начальных аргументов с аргументами, прочитанными со стандартного ввода, и выполняет указанную команду один или несколько раз.

Содержание

Использование

xargs [-l число] [-i зам_цеп] [-n число] [-t] [-p] [-x] [-s размер] [-e [лконф_цеп]] [команда [начальный_аргумент…]]

Параметры запуска

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

Выполнение программы xargs прекращается, если она получает от команды код завершения −1 или если команда не может быть выполнена. Если команда — это shell-программа, она должна явно выполнять exit с соответствующим аргументом, чтобы избежать случайного возврата кода −1.

Примеры использования

Следующая shell-процедура пересылает все файлы из каталога $1 в каталог $2 и сообщает о каждой пересылке перед тем, как ее выполнить:

ls $1 | xargs  -i -t mv $1/{} $2/{}

Следующая команда объединяет вывод команд, заключенных в скобки, в одну строку, которая затем добавляется в конец файла log:

(logname; date; echo $0 $*) | xargs  >>log

Пользователя спрашивают, какие файлы из текущего каталога должны быть занесены в архив. При выполнении первой команды (см. ниже) файлы заносятся в архив arch по одному; при выполнении второй команды в архив заносится сразу много файлов.

ls | xargs  -p -l ar r arch
ls | xargs  -p -l | xargs ar r arch

Следующая shell-процедура применяет команду diff к последовательным парам своих аргументов.

echo $* | xargs  -n2 diff

Ссылки

  • xargs(1) — страница справки man по пользовательским командам GNU/Linux (англ.)
  • xargs(1) — страница справки man по пользовательским командам OpenBSD (англ.)
  • xargs(1) — страница справки man по пользовательским командам FreeBSD (англ.)



Wikimedia Foundation. 2010.

Игры ⚽ Нужно решить контрольную?

Полезное


Смотреть что такое "Xargs" в других словарях:

  • Xargs — xargs(pronounced zargs) is a command of Unix and most Unix like operating systems. It is useful when one wants to pass a large number of arguments to a command. Arbitrarily long lists of parameters can t be passed to a command, [… …   Wikipedia

  • xargs — утилита для формирования списка аргументов и выполнение команды в UNIX подобных операционных системах. Команда xargs объединяет зафиксированный набор заданных в командной строке начальных аргументов с аргументами, прочитанными со стандартного… …   Википедия

  • xargs — ● ►en /X argz/ cde. f. ►UNIX Le x est en fait un produit... Cette commande permet de combiner des arguments pour produire une ligne de commande. Exemple: xargs grep pouette < liste Cette commande donnera les lignes contenant le mot pouette… …   Dictionnaire d'informatique francophone

  • The Baseball Network — Infobox Network network name = The Baseball Network name = network network type = Joint venture involving the American Broadcasting Company, the National Broadcasting Company, and Major League Baseball. branding = Baseball Night in America… …   Wikipedia

  • find — find  утилита поиска файлов, используемая в UNIX‐подобных операционных системах. Может производить поиск в одном или нескольких каталогах с использованием критериев, заданных пользователем. По умолчанию, find возвращает все файлы в рабочей… …   Википедия

  • List of Unix utilities — This is a list of UNIX utilities as specified by IEEE Std 1003.1 2008, which is part of the Single UNIX Specification (SUS). These utilities can be found on UNIX Operating systems and most UNIX like operating systems. List IEEE Std 1003.1 2008… …   Wikipedia

  • Touch (Unix) — touch is a standard Unix program used to change a file s access and modification timestamps. It is also used to create a new empty file. History A touch utility appeared in Version 7 AT T UNIX. The version of touch bundled in GNU coreutils was… …   Wikipedia

  • Find — The find program is a directory search utility on Unix like platforms. It searches through one or more directory trees of a filesystem, locating files based on some user specified criteria. By default, find returns all files below the current… …   Wikipedia

  • Rm (Unix) — rm (short for remove ) is a Unix command used to delete files from a filesystem. Options Common options that rm accepts include:* r, which removes directories, removing the contents recursively beforehand (so as not to leave files without a… …   Wikipedia

  • Terrorism in the United Kingdom — Terrorism in the United Kingdom, according to the Home Office, poses a significant threat to the state. [http://www.homeoffice.gov.uk/security/terrorism and the law/terrorism act/proscribed groups List of proscribed terrorist groups] Home Office… …   Wikipedia


Поделиться ссылкой на выделенное

Прямая ссылка:
Нажмите правой клавишей мыши и выберите «Копировать ссылку»