HPUNIX Сайт о ОС и не только!

xargs Программки и утилиты

5 ноября 2012 - unix
xargs  Программы и утилиты

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

Содержание
  • 1 Внедрение
  • 2 Характеристики пуска
  • 3 Примеры использования
Внедрение
xargs  Программы и утилиты

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

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

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

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

Computing

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

bash:
  1. ls $1 | xargs -I {} -t mv $1/{} $2/{}

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

bash:
  1. (logname; date; echo $0 $*) | xargs >>log

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

bash:
  1. ls | xargs -p -l ar r arch
  2. ls | xargs -p -l | xargs ar r arch

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

bash:
  1. echo $* | xargs -n2 diff
Ссылки
  • xargs(1) — страница справки man по пользовательским командам GNU/Linux  (англ.)
  • xargs(1) — страница справки man по пользовательским командам OpenBSD  (англ.)
  • xargs(1) — страница справки man по пользовательским командам FreeBSD  (англ.)
  • Просто о xargs - детализированный разбор xargs с примерами

Похожие статьи

  • expr Программки и утилиты

    expr — программка в UNIX?схожих ОС, вычисляющая значение выражения и выводящая итог на стандартный вывод. Любая лексема выражения должна быть отдельным аргументом. Операнды могут быть как ч...

  • split Программки и утилиты

    split — команда, копирующая файл и разбивающая его на отдельные файлы данной длины. В качестве аргументов ей нужно указать имя начального файла и префикс имен выходных файлов. Имена выходных файло...

  • printf Программки и утилиты

    printf — обобщённое заглавие семейства функций либо способов стандартных либо широкоизвестных коммерческих библиотек, либо интегрированных операторов неких языков программирования, применяемых для фор...

  • dc Программки и утилиты

    У этого термина есть и другие значения, см. DC.dc — пакет для арифметических вычислений с случайной точностью в unix-системах. Обычно он оперирует в десятичной системе счисления с целыми...

  • vi Программки и утилиты

    vi (visual) — серия редакторов текста операционных систем семейства UNIX. Содержание Один История2 Интерфейс 2.1 Нередко применяемые команды2.2 Внедрение постоянных выражений3 Другие редакторы...

Рейтинг: +10 Голосов: 295 1251 просмотр
Комментарии (0)

Нет комментариев. Ваш будет первым!

Найти на сайте: параметры поиска

Windows 7

Среда Windows 7 на первых порах кажется весьма непривычной для многих.

Windows 8

Если резюмировать все выступления Microsoft на конференции Build 2013.

Windows XP

Если Windows не может корректно завершить работу, в большинстве случаев это

Windows Vista

Если к вашему компьютеру подключено сразу несколько мониторов, и вы регулярно...