Инструменты пользователя

Инструменты сайта


Боковая панель

Связь

xargs

xargs

xargs - утилита для формирования списка аргументов и выполнение команды. То есть xargs позволяет вызвать любую команду с аргументами. У команды xargs есть два компонента. Во-первых, вы должны указать файлы, которые вас интересуют. Во-вторых, вы должны задать команду или скрипт, который вы хотите применить к каждому из этих файлов.

Режимы обработки xargs входящих данных:

  1. По умолчанию разделителем аргументов считается любой пробельный символ: пробел, табуляция, вертикальная табуляция или перевод строки. Но как и в командной оболочке можно использовать "" или \ что бы предотвратить разбиение аргумента.
  2. Режим, включающийся параметром -L. Практически идентичен предыдущему, за исключением того, что xargs запоминает, какой аргумент на какой строке находится. Более того, если строка оканчивается пробелом или табуляцией, следующая строка считается продолжением текущей.
  3. По строкам. Включается при использовании опции -I или -0. При этом вся строка считается одним целым аргументом, несмотря на пробелы и табуляции внутри. Для -I концом строки является символ '\n' а для -0 символ '\0'
  • Пример: поиск в /home/user1 всех файлов, имена которых оканчиваются на '.txt', и копирование их в другую директорию.
    find /home/user1 -name '*.txt' | xargs cp -av --target-directory=/home/backup/ --parents
  • Найти во всех файлах, расположенных в каталоге /etc/samba вхождение словосочетания logon home.
    $ find /etc/samba | xargs grep -ni 'logon home'
  • Удалить список файлов. Пути к файлу построчно записаны в файл delfiles.txt
    xargs rm < delfiles.txt



xargs.txt · Последние изменения: 2015/06/16 11:36 (внешнее изменение)