在一些 json 中管道,我希望能够在比较中添加通配符,因此:
curl example.com/json | jq 'select(.[].properties.type == "dev*")'
所以它会打印出任何以“dev”开头的类型
IE: development, devel, devil
这可以使用jq吗?
Sat*_*ura 10
您可以考虑使用startswith()函数。使用您的示例:
curl example.com/json | jq '.[].properties | select(.type | startswith("dev"))'
Run Code Online (Sandbox Code Playgroud)
正如 Sat\xc5\x8d Katsura 所示,您想要获取具有以字符串开头的类型的所有属性的示例由表达式dev
提供jq
.[].properties | select(.type | startswith("dev"))\n
Run Code Online (Sandbox Code Playgroud)\n但是,您可以使用以下test
函数与正则表达式进行更精细的匹配:
.[].properties | select(.type | test("^dev"))\n
Run Code Online (Sandbox Code Playgroud)\n该实用程序使用 PCRE 风格的正则表达式,由Oniguruma 正则表达式库jq
(维基百科链接)实现。