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

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

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

Используйте 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 не содержат пробелов.