标签: unix
我必须提取在文件中多次出现的变量的值。例如,我有一个文本文件abc.txt。有一个变量result。假设第一行result的值为2,第三行的值为55,最后一行的值为66。 然后我想要的输出应该是:
abc.txt
result
2
55
66
result:2,55,66
我是unix中的新手,所以我无法弄清楚如何做到这一点。请帮忙
文本文件的内容如下:
R$#$#%$W%^BHGF, result=2, fsdfsdsgf VSDF$TR$R,result=55 fsdf4r54 result=66
答案 0 :(得分:1)
试试这个:
使用awk代码:
awk -F'(,| |^)result=' ' /result=/{ gsub(",", "", $2) v = $2 str = (str) ? str","v : v } END{print "result:"str} ' abc.txt
使用perl代码:
perl -lane ' push @arr, $& if /\bresult=\K\d+/; END{print "result:" . join ",", @arr} ' abc.txt
输出: