提取在文件中多次出现的变量的值

时间:2013-09-25 18:50:27

标签: unix

我必须提取在文件中多次出现的变量的值。例如,我有一个文本文件abc.txt。有一个变量result。假设第一行result的值为2,第三行的值为55,最后一行的值为66。 然后我想要的输出应该是:

result:2,55,66

我是unix中的新手,所以我无法弄清楚如何做到这一点。请帮忙

文本文件的内容如下:

R$#$#%$W%^BHGF, result=2,
fsdfsdsgf 
VSDF$TR$R,result=55
fsdf4r54
result=66

1 个答案:

答案 0 :(得分:1)

试试这个:

使用代码:

awk -F'(,| |^)result=' '
    /result=/{
        gsub(",", "", $2)
        v = $2
        str = (str) ? str","v : v
    }
    END{print "result:"str}
' abc.txt

使用代码:

perl -lane '
    push @arr, $& if /\bresult=\K\d+/;
    END{print "result:" . join ",", @arr}
' abc.txt

输出:

result:2,55,66
相关问题