需要perl one liner来获取特定内容并且可能对其进行平均

AMM*_*AMM 3 unix shell perl command-line

我有一个文件,其中有许多行包含"x_y = XXXX",其中XXXX可以是从0到某个N的数字.

现在,a)我想在每一行中只获得该行的XXXX部分.b)我想得到平均值

可能这两个都在一个衬里.

我正在尝试像

cat filename.txt | grep x_y | (this need to be filled)
Run Code Online (Sandbox Code Playgroud)

我不知道该提交什么过去我曾经使用过像

perl -pi -e 's/x_y/m_n/g' 
Run Code Online (Sandbox Code Playgroud)

替换x_y的所有实例.但是现在,我希望匹配x_y = XXXX并获取XXXX,然后可能将其平均为整个文件.

任何有关这方面的帮助将不胜感激.我是perl和regex的新手.

bob*_*ogo 6

Timtowtdi(像往常一样).

perl -nE '$s+=$1, ++$n if /x_y=(\d+)/; END { say "avg:", $s/$n }' data.txt
Run Code Online (Sandbox Code Playgroud)