这是我的演示文件:Demo.txt
CP Used
----------------------------------- --------------
gyhjjjjjjjjjjjjj
gdhdhsdjjsdjsd
----------------------------------- --------------
list: 21305
DP Used
----------------------------------- --------------
asghjskkkkkkkkkkfe jfdkjcdf
ashdjdjksd
----------------------------------- --------------
list: 203899
在这里,我想匹配DP,然后匹配列表并打印详细信息。
预期输出为:
21305,"CP"
203899,"DP"
答案 0 :(得分:3)
用awk解析一个简单的表:
awk '$2=="Used"{x=$1}; $1=="list:"{print $2",\""x"\""}' Demo.txt
Used
,则将第1列的内容保存到变量x
。list:
,则打印第2列和变量x
的内容。输出:
21305,"CP" 203899,"DP"
答案 1 :(得分:0)
与Cyrus先生相同的方法,使用变量和使用$NF
字符串list
值略有不同,如下所示。
awk -v s1="\"" -v s2="," '/Used/{val=$1;next} /list:/{print $NF s2 s1 val s1;val=""}' Input_file