あるコマンドの出力を繰り返し、別のコマンドで使用します。

あるコマンドの出力を繰り返し、別のコマンドで使用します。

あるコマンドラインからの出力を1行ずつ別のコマンドに使用するには?|パイプ表記を使用してこれを行う方法を知っていますが、これは単一のコマンドで出力全体を消費します。一行ずつやりたいのですが… and を組み合わせなければならないようですが|よく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スペースが含まれていない限り動作します。

関連情報