我想找到这个:
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
查看文本