我正在从包含一堆子目录的目录运行此 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 跳过该特定文件。