【发布时间】:2015-01-27 04:37:53
【问题描述】:
我正在尝试编写一个命令行界面,该界面将删除 json 文件列表中的特定部分/代码行。顺便说一句,json文件位于主目录的子文件夹中
这是我能想出的代码 - find -name "*.json" | xargs sed -i "map" 但我有一些 json 文件,它的格式略有不同
到目前为止,我在列表中看到了以下两种格式:
{
"tags": {},
"map": {
"KPA": {
"State": True,
"namespace": "KPA01"
}
}
}
或
{
"tags": {
"type": [
"char"
],
"dynamic": true
},
"unitmap": {
"KPA01": {
"State": True,
"namespace": "KPA01"
}
}
}
基本上,我试图省略它所具有的 map 部分,以便它只会显示 tags 部分,但逗号和 [] / {} 的存在让我很难。
这可以在命令行界面中执行吗?
【问题讨论】:
-
不要使用
sed处理JSON。使用能够理解 JSON 的工具,例如 stedolan.github.io/jq 或像 Ruby 或 Python 这样的具有模块的语言。
标签: sed grep command-line-interface jq