grep 还显示结果相差 1 个字符?

grep 还显示结果相差 1 个字符?

我在 grep 搜索中经常出现拼写错误,尤其是在涉及长名称时。例如,

grep "super_duper_utralong_name" *txt

super_duper_ultralong_name因此通常不会包含(注意 ultra 与 utra)。但这正是我希望实现的目标。

我怎样才能做到这一点?最好甚至在正则表达式中,例如super_duper_[:alpha:]*_name.无论是 grep 还是其他类似 grep 的工具,都不重要。

答案1

使用agrep带有标志的近似 Grep ( ) -#,其中#是允许的不匹配数。

$ agrep    "super_duper_utralong_name" <<< super_duper_ultralong_name
$ agrep -1 "super_duper_utralong_name" <<< super_duper_ultralong_name
super_duper_ultralong_name

Agrep 的手册以获得更多选择。

相关内容