我有一个 json,我想 grep 网站 URL ( http://mywebsite.com ),如何使用 shell 脚本 grep 。
P.S:我知道有像“jq”这样的工具可以使它更容易,但我想使用 sed/awk/grep 实用程序来完成。
例如:test.json
{
"name" : "xyz",
"age" : "25",
"websiteurl" : "http://mywebsite.com"
}
到目前为止我已经尝试过了;
cat test.json | grep -i website* | cut -d ':' -f2
输出:
"http
但是当我如上所示运行上述命令时,它还会分隔 http 和双斜杠 (//) 之间的冒号 (:),这是我不想要的。我希望将整个 url 存储在变量中。
最佳答案
好吧,如果你打算做错事(比如不使用jq
),至少少做一些错误
awk '/website/ {gsub("\"", "", $3); print $3}' test.json
说明
awk
将输入拆分为多个字段,因此这里 $3
是与 website
匹配的行的第三个字段(从 1 开始)。然后删除引号(如果存在)并打印结果。
关于linux - 使用 shell 脚本解析 json,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44252308/