警告:この回答のアプローチは、一般的な解決策として意図されたものではkeys
ありません。実稼働環境では、コマンドの使用は推奨されないことに注意してください。
とは言うものの、これは、セット名の後にその長さ(カーディナリティ)をカーディナリティでソートして出力するソリューションです。
# Capture the names of the keys (sets)
KEYS=$(redis-cli keys 'myset:*')
# Paste each line from the key names with the output of `redis-cli scard key`
# and sort on the second key - the size - in reverse
paste <(echo "$KEYS") <(echo "$KEYS" | sed 's/^/scard /' | redis-cli) | sort -k2 -r -n
paste
上記のコマンドの使用に注意してください。redis-cli
結果を順番に送ってくれると期待していますが、きっとそうなると思います。したがって、redis出力からpaste
1つの名前と1つの値を取得し、それらを1行で出力します。$KEYS