Я пытаюсь запустить простой скрипт redis-cli, который просматривает некоторые карты ha sh и сообщает, в каких из них отсутствуют определенные ключи. Если я запускаю команду в своем терминале, я получаю (nil)
каждый раз, когда он встречает запись без этого ключа, однако у меня возникают проблемы с синтаксическим анализом этого результата с помощью grep или чего-то еще.
$ redis-cli --scan --pattern 'users' | xargs -I % redis-cli HGET % email
(nil)
$ redis-cli --scan --pattern 'users' | xargs -I % redis-cli HGET % email | rg -iF '(nil)'
Эта последняя команда не ' Я решил, что это стандартная ошибка, и попробовал следующее:
$ redis-cli --scan --pattern 'users' | xargs -I % redis-cli HGET &> out
$ redis-cli --scan --pattern 'users' | xargs -I % redis-cli HGET |& hexdump
0000000 000a
0000001
$ redis-cli --scan --pattern 'users' | xargs -I % redis-cli HGET 3> out
$ redis-cli --scan --pattern 'users' | xargs -I % redis-cli HGET 4> out
Но все равно не смог найти строку (nil)
, выводимую redis, а я не не включен noclobber
. Есть идеи, как это решить? Он должен проходить через какой-то файловый дескриптор, но я знаю, что это не 1-4, и теперь я не уверен, что делать дальше.
Я уверен, что есть лучший способ получить нужную мне информацию о redis записи, но мне все равно хотелось бы выяснить это из чистого любопытства.