我有一台服务器无法直接访问日志文件。出于安全原因,通过执行less命令的脚本来访问日志。
日志文件的内容类似于:
08:03:52,143 DEBUG sessionid1111111 [za.co.phuthib.Service1] (http-/0.0.0.0:8905-4) initialiseProperties(): currentDate: 20160812
08:03:52,143 DEBUG sessionid1111111 [za.co.phuthib.Service1] (http-/0.0.0.0:8905-4) cached object found
08:03:52,143 INFO sessionid1111111 [za.co.phuthib.Service2] (http-/0.0.0.0:8905-4) passphrase: 243989895859385938394583945839548983423488234
08:03:52,143 INFO sessionid1111111 [za.co.phuthib.Service2] (http-/0.0.0.0:8905-4) chanellID: [CHANNELID]
08:03:52,144 INFO sessionid1111111 [za.co.phuthib.Service3] (http-/0.0.0.0:8905-4) POST: /za/co/phuthib/retrieveProductList/
08:03:52,144 INFO sessionid1111111 [za.co.phuthib.Service3] (http-/0.0.0.0:8905-4) Input: {"id":"3989349"}
08:03:52,812 INFO sessionid1111111 [za.co.phuthib.Service3] (http-/0.0.0.0:8905-4) Response code [200 OK])
服务器接受来自许多用户的许多请求,因此需要搜索文件以查找他们需要的信息。
我可以搜索 sessionid1111111 ,也可以独立搜索 za.co.phuthib.Service3 。
我正在尝试搜索 za.co.phuthib.Service3 和 sessionid1111111 。 我尝试使用正则表达式,但似乎无法使其正常工作,例如:
/sessionid1111111[\s]Service3
答案 0 :(得分:1)
精确的正则表达式模式(仅与[...]
中的{3}}内的Service3匹配:
phuthib
请注意,sessionid1111111 +\[za\.co\.phuthib\.Service3]
匹配1个或多个空格, +
匹配文字\[
,[
匹配文字\.
。
如果您不需要这种精确度,请使用
.
或更短
sessionid1111111.*Service3
sessionid1{7}.*Service3
匹配0 +字符,尽可能多,.*
匹配七个连续1{7}
字符。
请注意,1
也会在sessionid1{7}.*Service3
中找到匹配项,因此我强烈建议您将模式设为精确。