redis-cli возвращает (nil) неизвестный файловый дескриптор - PullRequest
0 голосов
/ 18 июня 2020

Я пытаюсь запустить простой скрипт 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 записи, но мне все равно хотелось бы выяснить это из чистого любопытства.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...