Я хотел бы передать многострочные результаты команды A в команду B, вызывая команду B один раз для каждой строки вывода команды A. Как и xargs, но с несколькими вызовами.Как я могу использовать результаты одной команды для вызова другой команды несколько раз?
ответ
Если вы хотите запустить команду B для каждой строки вывода команды A, используйте xargs
с этими параметрами:
A | xargs -n1 -d'\n' B
Объяснение:
-d'\n'
говоритxargs
лечить свой вклад одна строка за раз, а не поведение по умолчанию для деления входных данных на основе пробелов.-n1
сообщаетxargs
для запускаB
один раз для каждой строки ввода в качестве единственного аргумента.
отлично - мне также пришлось разделить пробелы. вот моя последняя команда 'git branch | grep -v master | tr -d "" |/opt/local/libexec/gnubin/xargs -n1 -d '\ n' git branch -d' –
(OS X xargs не имеет функции '-d', поэтому я установил xargs из macports) –
- 1. Значение из одной команды как параметра для другой команды
- 2. Как я могу агрегировать результаты команды SaltStack?
- 3. Как я могу получить вывод одной команды в качестве аргумента для другой команды linux?
- 4. Создание базового vbscript для вызова одной команды
- 5. bash: как разобрать результаты одной команды для использования в качестве соответствия для другой команды
- 6. Как я могу выполнять команды IO несколько раз в Haskell?
- 7. Как использовать вывод команды как аргумент другой команды?
- 8. Как использовать несколько команды Баша в одной линии
- 9. Как передать выходные данные команды, как несколько аргументов другой команды
- 10. Включить/отключить команды после выполнения другой команды
- 11. Использование команды tee сразу для одной команды
- 12. Выполнение команды несколько раз в разных папках
- 13. вызова DataList команды обновления в рамках другой команды обновления
- 14. вызова как команды
- 15. Вызов другой команды щелчка от команды щелчка
- 16. Выполнение команды из другой команды
- 17. while цикл для выполнения команды несколько раз и хранения вывода в другой переменной каждый раз
- 18. Unix/Bash: Перенаправить результаты команды find, поэтому файлы используются как ввод для другой команды
- 19. Vim: Как использовать результаты функциональных вызовов в: оперативные команды
- 20. Как отобразить ход другой команды
- 21. Как я могу вызвать функцию Bash без вызова подстановки команды?
- 22. git: выберите редактор для одной команды
- 23. Как сохранить результаты команды переменной?
- 24. Две команды для одной кнопки
- 25. Как установить одну команду для другой команды?
- 26. Как я могу использовать uv_queue_work несколько раз?
- 27. Как я могу выполнить более одной команды в команде exec команды linux ожидать
- 28. более чем одной команды для системного вызова в Linux
- 29. Различные результаты команды omreport и команды snmpwalk
- 30. Использовать результат одной команды Mysql в другой команде Mysql?
Вы можете сказать 'xargs' выполнить одно исполнение команды за слово. Он разбивает строки на слова и рассматривает каждое слово как потенциальный аргумент. Если это не сработает (пробелы в строках), вы используете цикл оболочки: '... | при чтении строки; do commandB "$ line"; done' - или написать свой собственный код (я назвал свой «xargl», для «xargs on lines»). –
thnaks! почему это комментарий? также, как я могу это сделать: «Вы можете сказать xargs, чтобы выполнить одно исполнение команды за слово» –