您的位置:首页 > 运维架构 > Shell

shell文本处理

2016-04-01 15:36 645 查看
1、截取文本中摸个字段出现的次数

文本如下:

cat t:

get idea 9223372036851983171 first extend winfo failed, qid=(6ae3e9d800000000)

get idea 9223372036851985083 first extend winfo failed, qid=(622309d800000000)

获取idea和firstr之间的那个字段出现的次数:

cat t| sed -n 's/\(.*\)idea \(.*\) first\(.*\)/\2/p'|sort |uniq -c


结果:

8 9223372036851994950

1 9223372036851994954

8 9223372036851994962

1 9223372036851994966

21 9223372036851994970

2 9223372036851994974

20 9223372036851994978

12 9223372036851994982

6 9223372036851994986

16 9223372036851994990

39 9223372036851994994

....

命令解释

s: 表示替换命令

\(.*\) idea: first前的内容

idea\(.*\) first:表示idea 和 first 之间的内容

first \(.*\):表示first后的内容

\2: 表示第2个匹配的内容

匹配的内容,可以用\1,\2等进行引用,第n个匹配内的内容,就用\n引用。

这个命令的意思是:

用\2代表的第二个匹配的内容去替换整个字符串,这样就得到了我们所需要的子字符串了。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: