Como canalizar o resultado do comando anterior para o nó como uma variável?

1

Estou tentando criar um script para decodificar dados de redis. Eu posso fazer isso um script de nó, mas eu só queria que fosse o mais simples possível.

Aqui está o que eu tenho até agora.

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

E isso não funciona. Como obtenho o resultado deste comando redis-cli GET "d1g8y" e coloco isso neste script Buffer.from('$VARIABLE_FROM_PREVIOUS_COMMAND', 'base64')

Foi assim que eu comprimi os dados

const zlib = require('zlib');

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

Obrigado.

    
por toy 03.04.2017 / 17:12

1 resposta

4

Por que usar node ? Tipo de veado caçando com um obus, não?

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

zcat transmogrará dados gzipados em texto simples, o que no seu caso é uma string codificada em base64, então simplesmente canalizamos isso no decodificador.

    
por 03.04.2017 / 17:16

Tags