Besoin d'aide grep

Nioubi

Membre enregistré
30 Octobre 2006
7
1
42
Bonjour,
j'aurais besoin d'un coup de main avec grep, après plusieurs heures à chercher sur google j'ai toujours pas trouvé mon bonheur.
en fait je la solution doit être toute bête mais bon...
je cherche juste à trouver les lignes d'un fichier contenant QUE des caractères alphanumériques, et les placer dans un autre fichier.
le problème c'est que lorsque je fais:

cat fichier_entree | grep [:alphanum:] > fichier_sortie

il me donne aussi les lignes qui contiennent des caractères non désirés comme #,*,$,? etc...

et je n'arrive pas à exclure ces caractères du résultat avec ^[...] même en ajoutant un anti-backslash comme indiqué sur les man pages de grep...

voilà, j'espere que je suis suffisament clair.
merci d'avance.
 
Pour utiliser des expressions régulières, il faut passer par egrep ou mettre le flag "-E". :zen:
 
merci ça me permet de ne plus avoir d'erreurs dans le terminal ;) ;
mais il me reste un problème: comment faire un "non" logique dans les expressions régulières?
par exemple: "non alphanumérique".
pour le "ou" logique c'est avec "|" mais j'ai pas vu comment faire le "non"....
 
merci ça me permet de ne plus avoir d'erreurs dans le terminal ;) ;
mais il me reste un problème: comment faire un "non" logique dans les expressions régulières?
par exemple: "non alphanumérique".
pour le "ou" logique c'est avec "|" mais j'ai pas vu comment faire le "non"....

man sed
 
Oui j'ai réussi en utilisant grep avec les options -E -v .
J'ai fait: cat fichier_entrée | grep -E -v "[caractères a virer]" > fichier_sortie
Faut juste faire gaffe à certains caractères qui ont une significations particulière de les faire précéder de \ .
j'ai essayé de regarder avec la commande sed, les scripts en perl aussi mais j'ai vite abandonné, j'avais pas assez de temps a consacrer à ça, et puis ce qui compte c'est le résultat :o.
Merci à tous pour l'aide :up:.