首页 > 系统服务 > 详细

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

时间:2018-08-06 13:38:18      阅读:195      评论:0      收藏:0      [点我收藏+]
  • 日志文件内容如下:
    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从一行文件中获取两列值

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

    (0)
    (0)
       
    举报
    评论 一句话评论(0
    关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
    © 2014 bubuko.com 版权所有
    打开技术之扣,分享程序人生!