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

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

  • подстановка процесса для открытия списка файлов с приложением
  • Где «xargs» добавляет опцию из STDIN?
  • Скопируйте файлы с родительской папкой в ​​новый каталог
  • xargs как поместить результат {} в $ (cmd {})?
  • Передача списка из двух PID для xargs только убивает первый, используя ssh
  • Grep каталог и возвращаемый список с номерами строк
  • xargs repl_str не расширяет второй заполнитель
  • поиск имен папок на основе списка, содержащегося в файле .txt
  • Как получить код выхода параллельного процесса, запущенного xargs?
  • вывод технологического процесса на команду split by line и whitespace
  • Как передать строки с одинарными кавычками в grep?
  • Linux и Unix - лучшая ОС в мире.