如何将一个命令的输出逐行使用到另一个命令中?我知道如何使用|
管道符号执行此操作,但这会在一个命令中使用整个输出。我想逐行进行...我想我需要将 和 结合起来|
,xargs
但不确定。
redis-cli keys \* | redis-cli get [key would go here]
答案1
这参数答案是:
redis-cli keys \* | xargs -L 1 redis-cli get
答案2
使用 while 循环每一行:
redis-cli-keys \* | while read key; do redis-cli get "$key"; done
答案3
为了完整起见,这里是for
循环变体:
$ for key in $(redis-cli-keys \*); do redis-cli get $key; done
笔记:只要$keys
不包含空格,这就有效。