如何使用Bash从JSON字符串中删除\n和\ r \n?

goo*_*nch 6 regex bash

我一直试图使用这个答案从我的JSON输出中删除新的行和回车指示符.

我也试过根据我在Stack Overflow上看到的另一个答案来运行它,但它似乎仍然没有工作:

 sed -E ':a;N;$!ba;s/\r{0,1}\n/\\n/g' text.json > text_clean.json
Run Code Online (Sandbox Code Playgroud)

我当前的.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
Run Code Online (Sandbox Code Playgroud)

我在这里错过了什么?

如果它有帮助,包含它的字符串的示例在输出中采用许多不同的形式,但这是一个很好的形式:

Ok! Thank you so much.\r\nBest,\r\nClaire\r\n\r\n

Jeb*_*bby 0

perl如果已安装,您可以使用以下命令删除字符:

echo "Ok! Thank you so much.\r\nBest,\r\nClaire\r\n\r\n" | perl -pe 's/\r\n//g'
Run Code Online (Sandbox Code Playgroud)