Re: [HS] sed : garder le motif
Bonjour,
steve a écrit :
J'ai un long fichier de la forme
ABC(du texte)
MSD(un autre texte)
etc...
J'aimerai traiter ce fichier de tel manière qu'à la sortie je n'ai que
les 3 premiers caractères :
ABC
MSD
etc...
Sed devrait faire l'affaire non ?
a priori awk ou perl aussi mais let's try with sed
J'ai essayé (entre autres)
sed -e 's/^[A-Z][A-Z][A-Z]//' input_file
et ça me sort (fort logiquement d'ailleurs) les caractères de rang 4 et
plus, donc exactement le contraire de ce que je veux.
Comment lui dire de ne m'afficher *que* le motif cherché ?
La formule que j'écrirais est plutôt de la forme :
sed -e 's/^\(...\).*$/\1/' input_file
Les 3 premiers '.' (n'importe quel caractère) peuvent être remplacés
chacun par un [A-Z] si besoin (n'importe quelle lettre de A à Z).
Le dernier '.' suivi de '*' correspondent à n'importe quelle suite de
caractères jusqu'à la fin. Les parenthèses sont là pour grouper les 3
premiers caractères. On les réécrit avec le \1.
Testé approuvé ;-)
Yannick.
Reply to: