awk是一款文本處理工具,可以用來處理各種文本格式。在處理JSON數(shù)據(jù)時,awk可以非常方便地提取需要的數(shù)據(jù)。下面是一段使用awk獲取JSON數(shù)據(jù)的代碼:
awk -F '[,:{}]' '{for(i=1;i<=NF;i++){if($i~/name/){printf $i" ";getline;if($i~/age/)printf $i" ";}}}' json.txt
上述代碼中,我們首先使用“-F”選項指定分隔符,然后使用“for”循環(huán)遍歷每一個字段。如果當(dāng)前字段包含“name”,則輸出該字段并使用“getline”函數(shù)獲取下一個字段的值。然后再檢查下一個字段是否為“age”,如果是,則輸出該字段的值。
假如我們有一個JSON文件“json.txt”,內(nèi)容如下:
{ "name":"John", "age":30, "city":"New York" }
運行上述代碼后,輸出的結(jié)果為:
name John age 30
我們可以看到,awk成功地提取出了“name”和“age”字段的值,這對于處理JSON數(shù)據(jù)非常有用。