цикл через выход одной команды и использовать в другой команде

Как я могу использовать вывод одной команды – строка за строкой – в другую команду? Я знаю, как это сделать с помощью | символ трубы, но это использует весь вывод в одной команде. Я хотел бы пойти по очереди … Я думаю, мне нужно объединить | и xargs но не уверен.

 redis-cli keys \* | redis-cli get [key would go here] 

3 Solutions collect form web for “цикл через выход одной команды и использовать в другой команде”

Используйте while для прокрутки каждой строки:

 redis-cli-keys \* | while read key; do redis-cli get "$key"; done 

Ответ xargs будет следующим:

 redis-cli keys \* | xargs -L 1 redis-cli get 

Для полноты здесь используется вариант for loop:

 $ for key in $(redis-cli-keys \*); do redis-cli get $key; done 

ПРИМЕЧАНИЕ. Это работает до тех пор, пока $keys не содержат пробелов.

  • Безопасный поиск и удаление файлов
  • Добавить суффикс ко всем файлам без определенного расширения и сохранить расширение файла
  • tcpdump несколько pcaps с xargs
  • Перемещение подкаталога в новый родительский каталог, где новое имя каталога увеличивается на 1
  • Предоставление параметров scp с помощью xargs
  • вывод искажается при параллельном запуске «xargs ls»
  • Использовать вход xargs в команде eval
  • правильное параллельное использование xargs
  • Можете ли вы подключиться к функции .bash_profile?
  • Доступ к каждой строке в .txt-файле, загрузка и переименование ссылок
  • Вывод команды при передаче по другой команде
  • Linux и Unix - лучшая ОС в мире.