我有以下名为testfile的文件,其中包含以下内容:
{"items":[{"ogit\/_created on":1413388512511,"\/environmentType":"PROD","\/soxRelevant":"true","\/environmentName":"dbVertical"}]}
我使用以下awk命令获取soxRelevant,环境类型和环境名称的值。
cat test file | tr -d '"' | awk 'BEGIN {RS=","; FS=":"; ORS=",";} /soxRelevant/ {print $2}; /environmentType/ {print $2}; /environmentName/ {print $2};'
输出如下
PROD,true,dbVertical,
但是我希望首先是soxRelevant输出,然后是环境类型,然后是环境名称,如awk命令中所指定的那样:
我希望输出为:
true, PROD, dbVertical
我该怎么做?
答案 0 :(得分:0)
您可以将元素推送到数组,然后在END块中打印它们:
awk 'BEGIN {RS=ORS=","; FS=":"}
/soxRelevant/ {a[1]=$2}
/environmentType/ {a[2]=$2}
/environmentName/ {a[3]=$2}
END{for(n=1;n<=3;++n)print a[n]}'