在UNIX中捕获模式的值并写入另一个文件

时间:2016-09-10 01:14:47

标签: linux unix awk sed pattern-matching

我有一个文件

   #InboxPulse.jmx
    request.threads3=10
    request.loop=10
    duration=300
    request.ramp=6

   #LaunchPulse.jmx
    request.threads1=20
    request.loop1=5
    duration1=300
    request.ramp1=6

   #BankRetail.jmx
    request.threads2=30
     request.loop2=7
     duration2=300
     request.ramp2=6

我想捕获

的值
   request.threads2
    request.threads1
    request.threads3

进入另一个文件:

  10
  20
  30 

我试过这个

awk '/request.threads[0-9]{1,10}=/{print $NF}' build.properties >> sum.txt

它将输出显示为:

  request.threads3=10
  request.threads1=20
  request.threads2=30

如何获得所需的输出?

2 个答案:

答案 0 :(得分:3)

=符号上拆分,在字段1上匹配,打印字段2:

awk -F'=' '$1 ~ /request.threads[0-9]+$/ {print $2}' build.properties >> sum.txt

答案 1 :(得分:2)

1)提取值

> sum.txt

$ perl -lne '($v)=/request.threads\d+=\K(\d+)/; $s+=$v; END{print $s}' build.properties 60 添加到命令以将输出保存到文件

2)如果需要这些值的总和

{{1}}