为什么 grep 在这里显示“接近”重复的行并以不同的开头?

为什么 grep 在这里显示“接近”重复的行并以不同的开头?

我正在从包含一堆子目录的目录运行此 grep 命令:

grep -rn 'AlertManager.ShowAlert'

这可行,但我发现每个结果都被重复。第一组结果只有“=”后跟一个数字(可能是检查的所有行的累积总数?),第二组结果有我想要的,文件的完整路径,后跟文件中的行号。

为什么我会得到第一组“=:#####”结果,我可以抑制这些结果吗?

第一组:

=:15625:gui/alertmanager.gui:72:            visible = "[And(AlertManager.HasCallForPeace, AlertManager.ShowAlert('call_for_peace'))]"
=:15628:gui/alertmanager.gui:94:            visible = "[And(AlertManager.HasTrueWar, AlertManager.ShowAlert('war'))]"

... middle cut for brevity ... 

第二组开始(我保留了第一组的最后一行以便进行比较):

=:15787:gui/alertmanager.gui:1180:          visible = "[And(AlertManager.HasGreatWorkWithUpgradableEffects, AlertManager.ShowAlert('gw_with_upgrades'))]"
gui/alertmanager.gui:72:            visible = "[And(AlertManager.HasCallForPeace, AlertManager.ShowAlert('call_for_peace'))]"
gui/alertmanager.gui:94:            visible = "[And(AlertManager.HasTrueWar, AlertManager.ShowAlert('war'))]"

答案1

在上面的一些有用的评论之后 - 事实证明这是我的错误!

有一个名为“=”的文件,其中恰好有相同的内容!这很奇怪,我以为这是 grep 正在做的事情,但事实并非如此。

所以我想我的“答案”是让 grep 跳过该特定文件。

相关内容