0

我试图从中提取价值

在 File.txt 中:

116206K-> 13056K(118080K),0.0879950 secs] [任期:274796K--> 68056K(274892K),0.2713740 secs] 3777579K-> 68056K(392972K),[392972K),[1769980969809698096980969809698英语)

我试图提取

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

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

392972K 是从 377579K->68056K(392972K)

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

4

2 回答 2

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/'

工作链接

于 2010-10-22T11:00:39.343 回答
0
$ awk -vFS="->" '{gsub(/)].*|.*\(/,"",$5);print $5}' file1
17920K
于 2010-10-22T11:26:48.820 回答