我想找到这个:

gxxcc/issdd/jaabb/krrss/lxxnn

关于这个(所有大写字母)
AXXRR/BVVTTS/CRRTTDD/DEETTFF/EAABBRR/FRSSTT/GXXCC/ISSDD/JAABB_KRRSS_LXXNN/LL

我试过这个
grep -i 'GXXCC/ISSDD/JAABB.KRRSS.LXXNN' filename.txt
grep -i 'GXXCC*ISSDD*JAABB*KRRSS*LXXNN' filename.txt

但是,这些都不管用。有什么解决办法和解释吗?

最佳答案

从您的示例中可以看出,这一点很好,突出显示了文本的一部分:

echo AXXRR/BVVTTS/CRRTTDD/DEETTFF/EAABBRR/FRSSTT/GXXCC/ISSDD/JAABB_KRRSS_LXXNN/LL |
  egrep -i --color 'gxxcc/issdd/jaabb.krrss.lxxnn'

避免像D*JAABB*K这样的模式。这将匹配像“jaabbbbbk”或“ddddd jaabk”这样的文本,而不是斜线或下划线。
.点正好匹配一个字符。您的_下划线可能是某种疯狂的utf8多字节序列,而不是ascii 95?一种方法是把克莱恩星放在你的模式中:egrep -i --color 'jaabb.*krrss.*lxxnn'。另一种方法是使用hexdump -C查看文本

10-08 04:07