【发布时间】:2018-09-08 10:05:25
【问题描述】:
我需要根据我的 grep 命令过滤关键字。以下是我的日志文件。
2018-03-20T15:07:33,432 INFO [26b604b7-43cf-4bdc-9ffb-6bae323f8fc5 HiveServer2-Handler-Pool: Thread-55([])]: ql.Driver (Driver.java:compile(429)) - Compiling command(queryId=hive_20180320150733_cb6c088a-2b53-4826-891a-2dd905b16cef): SELECT * FROM table limit 5
我需要像这样提取特定的查询。
SELECT * FROM table limit 5
我试过这样
grep -oE 'SELECT * FROM [a-zA-Z][a-zA-Z0-9_]*' hive-server2.log
也用 awk 试过
awk 'BEGIN{ print "" }
/Executing command\(queryId/{ sub(/.*queryId=[^[:space:]]+: /,""); q=$0 }
/s3:\/\//{ print "," q }' OFS=',' hive-server2.log
没有什么对我有用。任何帮助将不胜感激。
【问题讨论】: