+ -
当前位置:首页 → 问答吧 → awk如果只打印正则表达式的字符串?

awk如果只打印正则表达式的字符串?

时间:2011-03-10

来源:互联网

本帖最后由 sunny954 于 2011-03-10 15:14 编辑

日志格式:


2011-03-10 00:41:04 597 INFO  (Contacts.cpp[2744032144]: 1576)        删除: [用户:111] [结果码:11][SID:541932198]
2011-03-10 00:41:40 495 INFO  (Group_List.cpp[2765011856]:  439)        删除组: [用户:222] [结果码:0]


awk或sed只打印‘结果码:11’和‘结果码:0’ ,要怎么写?

并非所有行都在同一个列上。


请解答下,谢谢!

作者: sunny954   发布时间: 2011-03-10

回复 sunny954
  1. $ echo "2011-03-10 00:41:04 597 INFO  (Contacts.cpp[2744032144]: 1576)
  2. 删除: [用户:111] [结果码:11][SID:541932198]
  3. 2011-03-10 00:41:40 495 INFO  (Group_List.cpp[2765011856]:  439)        删除组:
  4. [用户:222] [结果码:0]" |awk -v RS="结果码" -v FS="]" 'NR>1 {print RS$1}'
  5. 结果码:11
  6. 结果码:0
复制代码

作者: yinyuemi   发布时间: 2011-03-10

grep -o '结果码:[0-9]*'

作者: seeLnd   发布时间: 2011-03-10

非常感谢两位!!!

得努力学习!!

作者: sunny954   发布时间: 2011-03-10