linux - 如何从 JSON 输出文件中删除这些特殊字符
问题描述
^[[0;32m ?~V? ^[[0米
JSON 文件正在由 shell 脚本编写。
因此,文本处理会产生这些特殊字符,尝试使用 dos2unix 并使用 %s 选项全局更改字符。
解决方案
看一下这个。我在示例 JSON 文件中引入了一些控制字符,可以使用“cat -v”命令显示。带有 ^B,^A,^D 的那些是控制字符。使用 perl 完全删除控制字符。您可以重定向到新文件
> cat -v json_control.txt
^B{"menu": {
"id": "file",
"value": "File",
"popup": ^B{
"menuitem": [
{"value": "New", "onclick": "CreateNewDoc()"},
{"value": "Open", "onclick": "OpenDoc()"},
{"value": "Close", "onclick": "CloseDoc()"}
]
}
}}^D
^A
> perl -pe ' { s/[\x00-\x09\x0B-\x1F]//g } ' json_control.txt | cat -v
{"menu": {
"id": "file",
"value": "File",
"popup": {
"menuitem": [
{"value": "New", "onclick": "CreateNewDoc()"},
{"value": "Open", "onclick": "OpenDoc()"},
{"value": "Close", "onclick": "CloseDoc()"}
]
}
}}
>
推荐阅读
- events - Fullcalendar 事件加载 ajax 日期结束看不到
- r - 在 phantomjs 会话中搜索元素或先提取源代码的区别?
- gtk - Gio.Menu 项目始终对布尔操作禁用
- javascript - 数字格式不正确
- python - 如何在 Apache Spark/Databricks 中仅使用 Python 中的 sql 字符串执行 sql 更新(例如合并)?
- javascript - NPM 包中的类。当前未启用对实验语法“classProperties”的支持
- next.js - 猫头鹰轮播不适用于 chrome 中的下一个 js 应用程序
- python - Python Flask 发送数据并从另一台计算机获取该数据
- asp.net-core - Microsoft.AspNetCore.Components.Forms.InputDate 需要 EditContext 类型的级联参数
- objective-c - Swift Push Notofications (APNS2) 无法检测到已卸载的设备(返回 410)