我想grep包含来自同一日志的不同行中的单词的文件。单词是 checkCredit?msisdn = 766117506 和 creditLimit
日志文件是这样的
freeMemory 103709392time Mon Mar 12 04:02:13 IST 2018 ?http://127.0.0.1:8087/DialogProxy/services/ServiceProxy/的 checkCredit MSISDN = 767807544 &安培; TRANSID = 45390124 freeMemory 73117016time Mon Mar 12 04:02:14 IST 2018 statusCode200 {statusCode = 200,response = outstandingAmount 0.0 creditLimit 0.0 ,errorResponse =,responseTime = 0} 这是气氛0.0
这样做的最佳方式是什么?
答案 0 :(得分:0)
您可以使用
$ grep -e 'checkCredit?msisdn=766117506' -e 'creditLimit' <filename>
答案 1 :(得分:0)
只需尝试
grep creditLimit log.txt | grep checkCredit
答案 2 :(得分:0)
尝试一下:
grep 'checkCredit?msisdn\|creditLimit' inputfile
答案 3 :(得分:0)
grep'checkCredit?msisdn = 766117506 \ | creditLimit'inputfile catalina.out_bckp,当我运行此命令时,它还只显示creditLimit详细信息,为什么它不显示checkCredit?msisdn = 766117506详细信息。
问题帖子中显示的日志文件不包含766117506
,因此毫无疑问grep找不到它。如果您确实拥有766117506
的数据,请将其添加到问题中。
我使用过这个命令 grep'checkCredit?msisdn \ |这是balnce'catalina.out_bckp | awk'$ 4&lt; 10 {print;}'它给了我很好的结果但是有一些缺失值。
您尚未在该模式中使用creditLimit
,因此难怪这些行丢失。