如何使用 jq 排序不区分大小写

how to sort case insensitive using jq

jq是否支持不区分大小写的排序?

比如我有data.json这样的

[
  {"title": "first", "description": "foo"},
  {"title": "Second", "description": "bar"}
]

简单jq 'sort_by(.title)' data.jsonreturns

[
  {"title": "Second", "description": "bar"},
  {"title": "first", "description": "foo"}
]

实际上 jq 有 built-in 个过滤器 ascii_downcaseascii_upcase 你可以像这样使用 jq 'sort_by(.title | ascii_downcase)' data.json 以获得正确的结果。

[
  {"title": "first", "description": "foo"},
  {"title": "Second", "description": "bar"}
]