【发布时间】:2013-12-28 17:51:21
【问题描述】:
我有一个这样的 JSON 文件:
{
"User Entries" : [
{
"Names" : [
"root",
"BUILTIN\\Local System"
],
"Libinfo" : {
"pw_uuid" : FFFFEEEE-DDDD-CCCC-BBBB-AAAA00000000,
"pw_dir" : "/var/root",
"pw_shell" : "/bin/sh",
"pw_name" : "root",
}
},
{
"Names" : [
"bob",
"BUILTIN\\Local System"
],
"Libinfo" : {
"pw_uuid" : FFFFEEEE-DDDD-CCCC-BBBB-AAAA11111111,
"pw_dir" : "/Users/bob",
"pw_shell" : "/bin/sh",
"pw_name" : "bob",
}
},
]
}
我想做的是,找到“pw_uuid”行并将“”添加到逗号之前的行的其余部分。例如, 原行:“pw_uuid”:FFFFEEEE-DDDD-CCCC-BBBB-AAAA00000000, 更改为:“pw_uuid”:“FFFFEEEE-DDDD-CCCC-BBBB-AAAA00000000”,
有使用 sed 的感觉就可以了,你提出的任何命令都值得赞赏。
背景:因为使用jq命令,它报告数字无效(FFFFEEEE-DDDD-CCCC-BBBB-AAAA00000000),实际上它们是字符串。我正在编写一个脚本来测试特定用户(上面的 bob)是否存在(如果存在),而不是提取用户信息,例如 pw_dir 和/或 pw_uuid 等。我正在研究 jq 选项来完成这项工作,如果您对此有任何想法,也请随意。谢谢,
【问题讨论】:
-
你应该真正修复生成无效 JSON 的过程
-
@glenn-jackman,这个文件来自原生 OS X 命令,“odutil show cache”
标签: jquery json parsing replace sed