当值包含引号文字时,我正在尝试使用jq过滤结果,因此我的数据看起来像:
{"key": "site=\"abc\""}
我要使用包含(或其他方法)针对site = abc而不是site = abc123
进行过滤获取abc和abc123的当前代码:
jq -c '.textPayload | select(contains("abc"))' test.json
我试图尝试使用\进行转义,但似乎在contains方法中不起作用?
答案 0 :(得分:0)
考虑:
$ echo '{"key": "site=\"abc\""}' | jq 'select(.key | contains("\"abc\""))'
{
"key": "site=\"abc\""
}
$ echo '{"key": "site=\"abc\""}' | jq 'select(.key | index("\"abc\""))'
{
"key": "site=\"abc\""
}
$ echo '{"key": "site=\"abc\""}' | jq 'select(.key | test("\"abc\""))'
{
"key": "site=\"abc\""
}
因此,目前尚不清楚困难是什么。