隨筆-204  評論-90  文章-8  trackbacks-0
          # -*- coding: utf-8 -*-
          #
          !/usr/bin/python

          import re
          import io
          import sys

          # obj = re.compile(r'(?P<ip>.*?)- - \[(?P<time>.*?)\] "(?P<request>.*?)" (?P<status>.*?) (?P<bytes>.*?) "(?P<referer>.*?)" "(?P<ua>.*?)"')
          #
           example:xxxx"id":2640914,"orderId":144115188137125591xxxx"state":10xxxxx"
          # 日志整行都需要匹配,需要用的用具體正則匹配,如(\d{7}),不需要的用(.*)匹配,總之所有需要或不需要部分都用()括起來
          obj = re.compile(r'(.*"id":)(\d{7})(.*"orderId":)(\d{18})(.*"state":)(\d{2})(.*)')

          def load_log(path):
          # 讀取文件
              with io.open(path, mode="r", encoding="utf-8") as f:
                  for line in f:
                      line = line.strip()
                      parse(line)

          def stdin():
          # 讀取管道輸入
              for line in sys.stdin:
                  parse(line)

          def parse(line):
          # 解析單行nginx日志
              try:
                  result = obj.match(line)
                  print(result.group(2,4,6))
              except:
                  pass

          if __name__ == '__main__':
              # load_log("/tmp/227.log")
              stdin()
          posted on 2020-02-29 02:10 一凡 閱讀(304) 評論(0)  編輯  收藏 所屬分類: linux
          <2020年2月>
          2627282930311
          2345678
          9101112131415
          16171819202122
          23242526272829
          1234567

          常用鏈接

          留言簿(9)

          隨筆分類

          隨筆檔案

          文章分類

          文章檔案

          相冊

          學習資源

          搜索

          •  

          最新評論

          閱讀排行榜

          評論排行榜

          主站蜘蛛池模板: 高安市| 漯河市| 镇远县| 温宿县| 壶关县| 信阳市| 武山县| 连云港市| 大宁县| 克东县| 嘉禾县| 什邡市| 连州市| 贡觉县| 陆川县| 雷波县| 吉首市| 禄劝| 页游| 兴仁县| 柘荣县| 鹤壁市| 扎鲁特旗| 铜山县| 卓尼县| 贡觉县| 漳平市| 泽州县| 武冈市| 武乡县| 湛江市| 喀喇沁旗| 望谟县| 承德市| 进贤县| 清新县| 青川县| 兰州市| 洛川县| 五家渠市| 都安|