xargs: Имеет ли порядок вариантов?

Вход 0

echo foo | xargs -L 1 -I '{}' echo '{}' 

Выход 0

 foo 

Вход 1

 echo foo | xargs -I '{}' -L 1 echo '{}' 

Выход 1

 {} foo 

Почему изменение порядка параметров xargs изменяет результат?

Версия: xargs (GNU findutils) 4.6.0

  • Как копировать рекурсивно все файлы не старше 1 дня?
  • Unix: вопрос о xargs
  • рекурсивно chmod
  • Перемещение файлов с помощью find + xargs: target не является каталогом?
  • Перемещение подкаталога в новый родительский каталог, где новое имя каталога увеличивается на 1
  • xargs внутри цикла for
  • Найти, сочетание xargs и grep вызывает ошибку
  • Содержимое выходного файла с grep вместе с именем каталога
  • One Solution collect form web for “xargs: Имеет ли порядок вариантов?”

    Когда параметры, заданные для xargs, конфликтуют, порядок может иметь значение.

    IEEE Std 1003.1-2008, 2016 Edition / Open Group Base Specifications В выпуске 7 добавлен следующий текст 1 к спецификации xargs:

    Параметры -I , -L и -n являются взаимоисключающими. В некоторых реализациях используется последний, указанный, если в командной строке указано более одного; другие реализации рассматривают комбинации вариантов по-разному.

    Это кодирует поведение многих реализаций xargs, возвращаясь к исходной версии в PWB / Unix, чья справочная страница говорит

    Когда есть конфликты с флагом (например, -l vs. -n ), последний флаг имеет приоритет.

    В GNU-версии xargs -L отключает любую предыдущую опцию -I . Итак, во втором примере,

     echo foo | xargs -I '{}' -L 1 echo '{}' 

    {} – просто обычный аргумент, переданный в echo , без подстановки.

    [1] По сравнению с IEEE Std 1003.1, 2004 Edition / Open Group Base Specifications Issue 6 .

    Interesting Posts

    Итак, дизайн разделения клиент-сервер не является узким местом X Window?

    Как я могу запустить growisofs через sudo?

    Как заменить пробелы в именах файлов с помощью подчеркивания

    Как заставить tightvnc прослушивать входящие соединения на порту 5900?

    Распределение структуры безопасности inode selinux

    Что такое эквивалент Debian пакета RPM perl-ExtUtils-Embed?

    Почему поиск жестких ссылок не выполняется?

    Как выровнять текст в середине двух $ {hr} s?

    Почему моя команда mac terminal НЕ работает в сценарии оболочки?

    Как сгладить журналы для списка шаблонов и сделать из него отчет?

    Является ли один bash shellshock для исправления файла tar для SLES?

    Какова настройка в bash для globbing, чтобы контролировать, совпадает ли * с точечными файлами

    dhcp без dns: ping `hostname` не работает. Авто добавить имя хоста в / etc / hosts?

    Разрешение экрана VMWare и Linux Mint 18 (разрешено)

    Alt- <и Alt-> (и, возможно, некоторые другие клавиши), не работающие в elinks

    Linux и Unix - лучшая ОС в мире.