现在我使用此命令获取日志文件中模式的出现次数。
cat filename.log | grep -c 'myPattern'
问题是我只想知道两三个小时之间的事件。实际上,concat两种模式识别,一种是选择应用第二种模式识别的文本范围。
我尝试使用类似的东西但不起作用:
cat filename.log | grep -c 'myPattern' | grep {21:,22:,23:}
当你连接两根或更多根烟斗时,我从未理解通量是如何变化的。
日志文件示例:
20130305-22:31:36 0 0000 pcxvx28p script.ksh 1.10 FIN
20130305-22:36:36 0 0000 pcxvx28p script.ksh 1.10 DEBUT
20130305-22:31:36 0 0000 pcxvx28p script.ksh 1.10 OPERACION BUSQUEDA
20130305-22:36:36 0 0000 pcxvx28p script.ksh 1.10 numero xxx20012
注意:我使用 KornShell(ksh) 提前谢谢。
答案 0 :(得分:1)
试
grep -c '^20130305-2[1-3].*myPattern' your.log
日期也应添加到模式中,因为您的日志可能有一天以上的数据。
上述行会在21:00 -23:59:59
答案 1 :(得分:0)
不应使用-c选项,因为它给出匹配行的数量而不是匹配的行文本
grep 'myPattern' filename.log | grep '\(21:\)\|\(22:\)\|\(23:\)'