Use while para percorrer cada linha:
redis-cli-keys \* | while read key; do redis-cli get "$key"; done
Como posso usar a saída de um comando - linha por linha - em outro comando? Eu sei como fazer isso com o símbolo% pipe_de% pipe, mas isso usa a saída inteira em um comando. Eu gostaria de ir linha por linha ... Eu acho que preciso combinar o |
e |
, mas não tenho certeza.
redis-cli keys \* | redis-cli get [key would go here]
A resposta xargs seria:
redis-cli keys \* | xargs -L 1 redis-cli get
Apenas para completar, aqui está a variante for
do loop:
$ for key in $(redis-cli-keys \*); do redis-cli get $key; done
NOTA: Isso funciona desde que o $keys
não contenha espaços.
Tags text-processing pipe xargs shell