我正在使用curl,我在响应中得到一个大的html文件。 然后我将响应发送到sed并试图提取我感兴趣的json部分。 我正在努力让sed正确切割线条。
Html看起来简化如下:
<div>
<div>
<div class="session" data-session='{
"centerId": "175",
"myid": "2121"
}' data-state=""
>
<div>
<div>
<div class="session" data-session='{
"centerId": "232",
"myid": "3333"
}' data-state=""
>
我应该如何在sed中写入只获取json数据。 所以第一篇文章将是:
{
"centerId": "175",
"myid": "2121"
}
答案 0 :(得分:0)
而不是sed
你应该使用正确的html和json解析器,例如这里有xmlstarlet和jq:
<infile.html \
xml fo -o -R 2> /dev/null |
xml sel -t -m '//div' -v '@data-session' |
jq .
输出:
{
"centerId": "175",
"myid": "2121"
}
{
"centerId": "232",
"myid": "3333"
}