Json 如何将正则表达式与Shell脚本一起使用
跑 我将得到这样的数组输出Json 如何将正则表达式与Shell脚本一起使用,json,shell,sed,Json,Shell,Sed,跑 我将得到这样的数组输出 curl http://localhost:3000/ #!/bin/bash get_name() { curl --silent "http://localhost:3000/" | grep '"name":' | sed -E 's/.*"([^"]+)".*/\1/' } echo `get_name` 我想通过Shell脚本获取name1 [ { "name":
curl http://localhost:3000/
#!/bin/bash
get_name() {
curl --silent "http://localhost:3000/" |
grep '"name":' |
sed -E 's/.*"([^"]+)".*/\1/'
}
echo `get_name`
我想通过Shell脚本获取name1
[
{
"name": "name1",
"wred": {
"lsd": "8040baf7aded3319b0dec433b2461"
},
"node": "dfsafafafaf="
},
{
"name": "name2",
"wred": {
"lsd": "e6b3a11581a800d"
},
"node": "fdsafzxcvx="
},
{
"name": "name3",
"wred": {
"lsd": "d3319b0dec433b2461"
},
"node": "hlkkjjkhjas="
}
]
我得到的结果是这样的
curl http://localhost:3000/
#!/bin/bash
get_name() {
curl --silent "http://localhost:3000/" |
grep '"name":' |
sed -E 's/.*"([^"]+)".*/\1/'
}
echo `get_name`
请帮助我,非常感谢。以JSON格式输出的curl。使用
jq
工具提取。虽然从技术上讲,您可以使用sed处理一些JSON文件,但这是有风险的:sed是面向行的,JSON是结构化的。无法保证JSON文件将以特定方式格式化
name1 name2 name3
执行“曼杰Q”以获取完整信息。简短版本:
*“[0]”将选择数组的第一个条目
*“name”选择name元素
*'-r'产生“原始”输出-去掉引号。不要使用正则表达式来解析JSON,而是使用适当的解析器。这能回答您的问题吗@Cid不,我不想使用JSON。您已经在使用JSON了