Как повторять переменные дважды в xargs

Как я могу сделать второе эхо-эхо-тест в этом примере:

echo test | xargs -I {} echo {} && echo {} 

  • Объединение тысяч файлов:> vs >>
  • Пауза (с чтением или аналогичным) в xargs
  • cmd2 `cmd1` vs cmd1 | xargs cmd2
  • / usr / bin / awk: слишком длинный список аргументов
  • xargs -r0 vs xargs -0
  • Перемещение файлов с помощью find + xargs: target не является каталогом?
  • Обработка временных меток вывода tcpdump в режиме реального времени
  • Почему «{}» и «%» обычно используются как переменные в xargs?
  • One Solution collect form web for “Как повторять переменные дважды в xargs”

    Просто напишите {} два раза в вашей команде. Было бы выполнено следующее:

     $ echo test | xargs -I {} echo {} {} test test 

    Ваша проблема в том, как команды вложены . Давайте посмотрим на это:

     echo test | xargs -I {} echo {} && echo {} 

    bash выполнит echo test | xargs -I {} echo {} echo test | xargs -I {} echo {} . Если он успешно, он выполнит echo {} . Чтобы этого избежать, вы можете сделать что-то вроде этого:

     echo test | xargs -I {} bash -c "echo {} && echo {}" 

    Однако вы можете xargs с кавычками во вводе xargs если используете этот подход.

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