用awk将双引号替换为单引号
我有一个json文件,一些数据如下:用awk将双引号替换为单引号,awk,double-quotes,Awk,Double Quotes,我有一个json文件,一些数据如下: BEGIN { q = "\"" FS = OFS = q ", " q } { split($1, arr, ": " q) for(i in arr ) { if(arr[i] == "name") { gsub(q, "'", arr[i+1]) # print arr[1] ": " q arr[2], $2, $3 } }
BEGIN {
q = "\""
FS = OFS = q ", " q
}
{
split($1, arr, ": " q)
for(i in arr ) {
if(arr[i] == "name") {
gsub(q, "'", arr[i+1])
# print arr[1] ": " q arr[2], $2, $3
}
}
}
名称的值有一个双引号,我只想将双引号替换为单引号,而不是全部双引号,请告诉我如何修复它?
awk'{for(I=1;iIt可能最好在Python或Perl中使用适当的JSON解析器(或独立的解析器)。可能会重复
{"last_modified": {"type": "/type/datetime", "value": "2008-04-01T03:28:50.625462"}, "type": {"key": "/type/author"}, "name": "National Research Council. Committee on the Scientific and Technologic Base of Puerto Rico"s Economy.", "key": "/authors/OL2108538A", "revision": 1}
awk '{for(i=1;i<=NF;i++) if($i~/name/){ gsub("\042","\047",$(i+1)) }}1' file