求 grep 正则表达式

载舟之水 2017-01-25 01:42:15
最近处理一个log文件,想用grep来格式化输出。

cat test.txt

01-25 11:56:41.873: I/NormalDanmakuPresenter(7831): #2017-01-25 11:56:41.872 [7831,1]I# [Normal] Msg,content:BDC{mType=MANAGER_MSG, mName='Batman', mContent='What?', currentTime=1485316601865, vuid=518465805}

怎么使用grep输出这种格式,grep小白,大家别见笑。
01-25 11:56:41.873 Batman What?


我试了下用
grep -Eo 'mName.+mContent[^ ]+' test.txt
只能输出
mName='Batman', mContent='What?',

开头时间不知道怎么取,格式也不对。


过年了还有人回答吗,求教。
...全文
202 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
载舟之水 2017-01-30
  • 打赏
  • 举报
回复
两位高手的方法都很有效,哈哈,结贴。
ipqtjmqj 2017-01-29
  • 打赏
  • 举报
回复
引用 3 楼 ipqtjmqj 的回复:
sed -r "s/(^.{18}).*mName='(.*)', mContent='(.*)'.*/\1 \2 \3/" test.txt
解释:-r选项表示用扩展的正则表达式,否则圆括号与花括号都要转的 双引号将会由shell去除,再传给sed。 其中的s代表substitute,即替换。 然后是斜杠,代表后面是个正则表达式,直到出现另一个斜杠。 这两个斜杠中,主要有三句,(^.{18})表示从开头开始的18个字符并存入1号寄存器; mName='(.*)'用于匹配mName并将单引号之间的值写入2号寄存器;mContent='(.*)'同理 第2与第3个斜杠之间的内容表示要替换的值,在这里是之前存好的值
ipqtjmqj 2017-01-29
  • 打赏
  • 举报
回复
sed -r "s/(^.{18}).*mName='(.*)', mContent='(.*)'.*/\1 \2 \3/" test.txt
载舟之水 2017-01-27
  • 打赏
  • 举报
回复
引用 1 楼 xpresslink 的回复:
[root@CentOS6 ~]# cat test.txt 01-25 11:56:41.873: I/NormalDanmakuPresenter(7831): #2017-01-25 11:56:41.872 [7831,1]I# [Normal] Msg,content:BDC{mType=MANAGER_MSG, mName='Batman', mContent='What?', currentTime=1485316601865, vuid=518465805} [root@CentOS6 ~]# grep -E "mName='.+'.*mContent='.+'" test.txt | awk -F"[ ']" '{print $1" "$2" "$10" "$13}' 01-25 11:56:41.873: Batman What? [root@CentOS6 ~]#
请问用grep 加 sed 能做到吗?
混沌鳄鱼 2017-01-25
  • 打赏
  • 举报
回复
[root@CentOS6 ~]# cat test.txt 01-25 11:56:41.873: I/NormalDanmakuPresenter(7831): #2017-01-25 11:56:41.872 [7831,1]I# [Normal] Msg,content:BDC{mType=MANAGER_MSG, mName='Batman', mContent='What?', currentTime=1485316601865, vuid=518465805} [root@CentOS6 ~]# grep -E "mName='.+'.*mContent='.+'" test.txt | awk -F"[ ']" '{print $1" "$2" "$10" "$13}' 01-25 11:56:41.873: Batman What? [root@CentOS6 ~]#

23,120

社区成员

发帖
与我相关
我的任务
社区描述
Linux/Unix社区 应用程序开发区
社区管理员
  • 应用程序开发区社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧