【发布时间】:2019-09-23 11:03:17
【问题描述】:
我有一个包含特定任务行的大型日志文件,如下所示:
[info] My task : 123
[info] Other task : 111
[info] My task : 456
[info] My task : 456
[info] My task : 789
我想计算记录的唯一"My task"s 的数量。在这种情况下应该是 3。
我使用了这两个命令,在我看来,它们应该给出相同且正确的结果:
grep 'My Task :' | uniq | wc -l
grep -E 'My Task :' | sort --unique | grep -cE 'My Task :'
这两个命令在我创建的小测试文件上给出了相同的结果,但在服务器上的大日志文件上给出了不同的结果。我不明白为什么。确切地说,第一个命令给出的计数约为 33k,而第二个命令给出的计数约为 15k。如果有的话,这两个命令中的哪个命令是正确的?理想情况下我应该做什么?
【问题讨论】:
-
如果你使用
My Task会有0个匹配,因为grep默认区分大小写。