Передача параметров mulitiple через xargs

Я хотел бы иметь возможность использовать xargs для выполнения нескольких параметров в разных частях команды.

Например, следующее:

 echo {1..8} | xargs -n2 | xargs -I v1 -I v2 echo the number v1 comes before v2 

Я надеюсь, что он вернется

 the number 1 comes before 2 the number 3 comes before 4 

… и т.д

Возможно ли это? Я подозреваю, что мое многократное использование -I неверно.

One Solution collect form web for “Передача параметров mulitiple через xargs”

Я считаю, что вы не можете использовать это. Но вы можете получить эффект / поведение, которое вы хотите, говоря:

 echo {1..8} | xargs -n2 sh -c 'echo "the number $1 comes before $2"' sh 

Это, по существу, создает специальный однострочный скрипт оболочки, который xargs выполняется через sh -c . Два значения, которые xargs анализируют из ввода, передаются этому «скрипту». Затем оболочка присваивает этим значениям $1 и $2 , которые затем можно ссылаться в «скрипте».

  • Что делает «-t» в команде mv? Пример ниже
  • Unix: вопрос о xargs
  • использование xargs для grep нескольких шаблонов
  • Как скопировать список файлов и настроить имена файлов назначения на лету?
  • Трубопровод нескольких строк в сценарии bash
  • опция xargs -I
  • Невозможно запросить пользователя с помощью опции rm bultin prompt -i с помощью xargs и найти
  • Ни для чего ничего не нужно для xargs
  • Как выполнить xargs grep для вывода grep с пробелами?
  • Как удалить все, кроме последних 10 файлов
  • xargs не запрашивает после каждой строки
  • Linux и Unix - лучшая ОС в мире.