【发布时间】:2017-03-12 06:54:46
【问题描述】:
我有一个包含 80 多个字段的 JSON。在使用 jq 提取下面提到的 JSON 文件中的消息字段时,我得到了换行符和制表符空格。我想删除转义序列字符,我使用 sed 尝试过,但没有成功。
示例 JSON 文件:
{
"HOSTNAME":"server1.example",
"level":"WARN",
"level_value":30000,
"logger_name":"server1.example.adapter",
"content":{"message":"ERROR LALALLA\nERROR INFO NANANAN\tSOME MORE ERROR INFO\nBABABABABABBA\n BABABABA\t ABABBABAA\n\n BABABABAB\n\n"}
}
谁能帮我解决这个问题?
【问题讨论】:
-
所以您从不想要该文件中的换行符或制表符字符?或者一个文件中有多个条目? (请更新您的Q,我将删除此评论)。祝你好运。
-
如果您使用
-r选项,jq会将转义序列转换为真正的换行符、制表符等。这是您想要的吗?jq -r .content.message file.json? -
不,我想删除换行符和制表符
-
为清楚起见,请将与示例输入匹配的预期输出添加到您的问题中(剩下的一个歧义是您是否也希望去掉封闭的双引号)。
标签: json shell unix jq control-characters