码迷,mamicode.com
首页 > 系统相关 > 详细

shell从一行文件中获取两列值

时间:2018-08-06 13:40:13      阅读:135      评论:0      收藏:0      [点我收藏+]

标签:not   redis   push   shel   日志   文件中   空格   ptime   日志文件   

  • 日志文件内容如下:
    logid=2210608107 worker_id=140610281404160 optime=1452598610.631276 msg=service+not+found+in+share+memory service=Redis_doc_push
  • 通过awk获取制定的列后输出,缺点是如果日志打印的格式不带空格,则不能使用
    cat xxx.log | grep -oP "logid=\d+.*service=\w+" | awk -F‘ ‘ ‘{print $1,$NF}‘
  • 用正则表达式捕获组,用sed将整行替换为两个组的值
    cat xxx.log | sed -r "s/.*?logid=([0-9]+).*?service=(\w+).*?/\1,\2/"
  • shell从一行文件中获取两列值

    标签:not   redis   push   shel   日志   文件中   空格   ptime   日志文件   

    原文地址:http://blog.51cto.com/ting2junshui/2155192

    (0)
    (0)
       
    举报
    评论 一句话评论(0
    登录后才能评论!
    © 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
    迷上了代码!