2017-10-14 1 views
0

je veux trouver ceci:questions Grep: Pourquoi est-grep -i pas saisir l'instance avec des caractères spéciaux

gxxcc/issdd/jaabb/krrss/lxxnn 

Sur cette (toutes les lettres majuscules)

AXXRR/BVVTTS/CRRTTDD/DEETTFF/EAABBRR/FRSSTT/GXXCC/ISSDD/JAABB_KRRSS_LXXNN/LL 

J'ai essayé

grep -i 'GXXCC/ISSDD/JAABB.KRRSS.LXXNN' filename.txt 
grep -i 'GXXCC*ISSDD*JAABB*KRRSS*LXXNN' filename.txt 

mais, aucun de ces travaux. Toute solution et explication?

+0

'écho A/B/C/D/E/F/G/I/J_K_L/LL | grep -i 'G/I/J.K.L'' fonctionne très bien. Il semble que vous avez trop simplifié l'exemple – myaut

+0

J'ai ajouté quelques chaînes pour voir si cela aide – user5987994

+0

ne peut pas reproduire, fonctionne bien – RomanPerekhrest

Répondre

0

Ceci, de votre exemple, fonctionne très bien, mettant en évidence une partie du texte:

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

Évitez les modèles comme D*JAABB*K. Cela correspondrait à du texte comme "JAABBBBBBK" ou "DDDDDJAABK", plutôt que des barres obliques ou des traits de soulignement.

Le point . correspond exactement à un caractère. Est-ce que votre _ soulignent peut-être une séquence de plusieurs octets utf8 fou, plutôt que Ascii 95? Une façon de dire est de mettre les étoiles de Kleene dans votre modèle: egrep -i --color 'jaabb.*krrss.*lxxnn'. Une autre consiste à afficher votre texte avec hexdump -C

+0

oui, c'était un multibit fou. Merci pour l'entrée – user5987994