前のコマンドの結果をノードに変数として渡すにはどうすればよいですか?

前のコマンドの結果をノードに変数として渡すにはどうすればよいですか?

Redisでデータをデコードするスクリプトを作成しようとしています。ノードスクリプトで作成することもできますが、できるだけ簡単にしたいと思います。

これまで私が得たものは次のとおりです。

redis-cli GET "d1g8y" | xargs -i node -e "require('zlib').gunzip(Buffer.from('{}', 'base64'), function(err, string) { console.log(string.toString()); })"

しかし、これはうまくいきません。このコマンドの結果を得てredis-cli GET "d1g8y"このスクリプトに入れるにはどうすればよいですか?Buffer.from('$VARIABLE_FROM_PREVIOUS_COMMAND', 'base64')

これがデータを圧縮する方法です

const zlib = require('zlib');

const zipAsync = Promise.promisify(zlib.gzip, {context: zlib});
return zipAsync(Buffer.from(value)).then(console.log);

ありがとうございます。

ベストアンサー1

なぜそれを使うのですかnode?曲射砲で鹿を狩るのと似ていませんか?

redis-cli GET "d1g8y" | zcat | base64 --decode

zcatgzipで圧縮されたデータをプレーンテキストに変換します。あなたの場合はbase64でエンコードされた文字列なので、デコーダにパイプするだけです。

おすすめ記事