grep命令无法正常工作

时间:2010-10-22 10:53:42

标签: linux bash search grep cut

我正在尝试从

中提取值

在File.txt中:

  

116206K-> 13056K(118080K),0.0879950   秒] [终身:274796K-> 68056K(274892K),   0.2713740秒] 377579K-> 68056K(392972K),[Perm   :17698K-> 17604K(17920K)],0.3604630   秒]

我试着提取

cat File.txt | grep 'Perm '| cut -d',' -f3|cut -d'(' -f2 |cut -d')' -f 1

这里有什么问题。因为我正在尝试我得到

392972K,来自377579K-> 68056K(392972K)

但我应该从[Perm:17698K-> 17604K(17920K)] 17920

获得

2 个答案:

答案 0 :(得分:3)

一个快速解决方法,将-f3更改为-f4,因为您需要的字段在 第三个逗号后出现

cat File.txt | grep 'Perm '| cut -d',' -f4|cut -d'(' -f2 |cut -d')' -f 1
                                        ^^

您也可以将sed用作:

grep 'Perm' File.txt | sed -r 's/.*Perm :.*\((.*?)\).*/\1/'

Working link

答案 1 :(得分:0)

$ awk -vFS="->" '{gsub(/)].*|.*\(/,"",$5);print $5}' file1
17920K