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

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 .

  • basename не работает должным образом
  • xargs как поместить результат {} в $ (cmd {})?
  • найти | xargs shasum создает контрольную сумму самого файла контрольной суммы (преждевременно) и не работает при проверке
  • `grep -l .. | xargs vim` генерирует предупреждение, почему?
  • эхом basename под xargs?
  • Когда требуется xargs?
  • Можете ли вы подключиться к функции .bash_profile?
  • Используйте команду find для выполнения ряда команд
  • Доступ к каждой строке в .txt-файле, загрузка и переименование ссылок
  • Сделать xargs в качестве первого параметра
  • Как я могу объединить все файлы в каталоге вместе в одной операции с командной строкой?
  • Interesting Posts

    cat SQL-файлы и перейти к схеме импорта

    Преобразование относительного пути в абсолютный путь

    Добавление строки, содержащей escape-символ с sed

    Печать stderr только в том случае, если в stdout ничего не записано, иначе распечатайте только stdout, отбрасывая stderr

    Проблема bc о длинном выражении

    aptitude search не видит deb, но он существует в репо: http://http.kali.org/pool/main/s/simplejson/

    Конфигурация Wlan при входе в портал

    Есть ли причина, по которой значение wchar_t, полученное функцией mbtowc (), не является значением UNICODE?

    Awesome WM нельзя использовать с мышью через некоторое время

    Как оценивать числа в массиве Unix?

    Вызывать команду / сценарий, отключенный от управляющего терминала?

    «Слишком много открытых файлов ssh», когда количество открытых файлов намного ниже ulimit

    Изменение размера luks зашифрованного раздела для заполнения свободного места

    ZFS Ubuntu 16.04 Замените диск самим

    grep: Синтаксическая ошибка возле неожиданного токена `('

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