色婷婷狠狠18禁久久YY,CHINESE性内射高清国产,国产女人18毛片水真多1,国产AV在线观看

awk截取json

呂致盈2年前7瀏覽0評論

awk是一款Unix和類Unix系統下的文本處理工具,也可以被用來處理JSON格式的文本數據。在JSON數據中,我們可以使用awk來截取所需要的信息,并且可以對JSON數據進行篩選、排序和統計等操作。

在使用awk截取JSON數據時,需要先將JSON數據轉換成行數據。可以使用以下命令將JSON數據轉換成行數據:

cat file.json | tr -d '\n' | sed 's/},/}\n/g' | sed 's/^.*\[/{/' | sed 's/]$//'

這個命令的作用是將JSON數據中的換行符去掉,然后將“,”換行,最后用sed命令重構JSON的頭和尾。處理后的結果就是一個行數據的JSON格式,可以使用awk來對其進行操作。

假設我們有一個名為“file.json”的JSON文件,其中包含如下內容:

{
"name": "Lucas",
"age": 25,
"sex": "male",
"address": {
"city": "Beijing",
"street": "Chaoyang District"
}
}
{
"name": "Lily",
"age": 28,
"sex": "female",
"address": {
"city": "Shanghai",
"street": "Pudong District"
}
}

我們可以使用awk來截取所有用戶的名字和所屬城市:

cat file.json | tr -d '\n' | sed 's/},/}\n/g' | sed 's/^.*\[/{/' | sed 's/]$//' | awk -F '[:,}]' '{print "name: "$4"\tcity: "$9}'

以上代碼的輸出結果為:

name: Lucas     city: Beijing
name: Lily      city: Shanghai

在awk的-F參數中,使用了多個分隔符“:”,“,”和“}”,這樣就可以將JSON數據中的各個字段分隔出來了,然后通過print命令輸出所需的字段。

awk截取JSON數據是一個很常見的需求,使用awk可以快速方便地提取所需的字段。同時,通過awk的其他操作,還可以對JSON數據進行更加復雜的處理。