我一直在尝试使用 this answer 从我的 JSON 输出中删除新行和回车符指示符| .
我也尝试根据我在 Stack Overflow 上看到的另一个答案来运行它,但它似乎仍然不起作用:
sed -E ':a;N;$!ba;s/\r{0,1}\n/\\n/g' text.json > text_clean.json
我当前的 .sh
脚本如下所示:
getPage() {
curl --fail -X GET 'https://api.test.com/v1/marx?page=1&pageSize=1000&sort=desc' \
-H 'Authorization: Bearer xxxxxxx' \
-H 'cache-control: no-cache'
}
getPage \
| jq -c '.data[]' \
> text.json
我在这里错过了什么?
如果有帮助,包含它的字符串的示例在输出中采用许多不同的形式,但这里有一个很好的形式:
好的!非常感谢。\r\n最好的,\r\nClaire\r\n\r\n
最佳答案
如果要修改 JSON,请在 jq
中执行。
在这种情况下,这可能意味着改变:
getPage \
| jq -c '.data[]' \
> text.json
...到...
getPage \
| jq -c '.data[] | sub("\r\n"; " ") | sub("\n"; " ")' \
> text.json
关于regex - 如何使用 Bash 从 JSON 字符串中删除\n 和\r?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54798272/