Можно выполнить выход утилиты jq
со статусом выхода -, соответствующим последнему вычисленному значению, используя параметр строки--exit-status
(или-e
)команды -.
jq -r -e '[.[] | select(.refreshToken != null)] | unique | if length == 1 then.[].refreshToken else empty end' file
Если последнее выражение, оцениваемое в приведенном выше выражении, истинно, не -пусто, не -нуль, статус выхода jq
будет равен нулю; в противном случае оно будет не -нулем.
Комментарии показали, что запрашиваются refreshToken
данные, но только если они уникальны. Вы можете сделать это с помощью
jq -r -e '[.[].refreshToken // empty] | unique | if length == 1 then.[] else empty end' file