Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#1 Le 23/08/2012, à 16:21

kboo

[résolu] grep extraction et expressions régulières

Bonjour,
je cherche à récupérer les noms de tous les fichiers n'ayant pas une clef md5 correctes:

La ligne suivante me permet de créer les hash md5 de tous les fichiers python (.py)
find ./ -name "*.py" -type f -print0 | xargs -0 md5sum >> filetmp.md5

mais quand je veux récupérer la liste avec:
md5sum -c filetmp.md5 | grep ".py: ÉCHEC$"
j'obtiens bien les ligne contenant "ÉCHEC" mais je voudrai récupérer directement la ligne sans la fin
c'est à dire j'obtiens ça:
"./nouveau dossier 2/3_/tags/ct2-201-12/transformPFile.py: OK"
et je voudrai juste avoir
"./nouveau dossier 2/3_/tags/ct2-201-12/transformPFile.py"
à la place... une sorte de
grep "(.py): OK"   (je sais ça ne marche pas car je ne sais pas comment extraire juste les données qui vont bien...
je seche...

merci infiniment pour votre aide

Dernière modification par kboo (Le 24/08/2012, à 08:57)

Hors ligne

#2 Le 23/08/2012, à 16:35

grim7reaper

Re : [résolu] grep extraction et expressions régulières

Salut,
Si ton grep supporte l’option -P (probablement le cas), alors tu peux utiliser :

grep -oP '(.*py)(?=: ÉCHEC$)'

Ici j’utilise l’option P pour être compatible PCRE, ce qui me permet d’utiliser un look-behind (le truc qui commence par ?=).
Et j’utilise l’option -o pour afficher uniquement la partie qui match mon expression régulière.
Et voilà, le tour est joué smile

Hors ligne

#3 Le 23/08/2012, à 18:20

badentriya

Re : [résolu] grep extraction et expressions régulières

Avec awk on peut faire :

md5sum -c resul | awk -F ": OK" '{ $NF="" ; if ( $0 ~ /./ ) print }'

Changez l'expression si vous voulez obtenir les échecs (mais c'est une façon négative de voir les choses lol)

Hors ligne

#4 Le 24/08/2012, à 08:59

kboo

Re : [résolu] grep extraction et expressions régulières

Merci infiniment grim7reaper et badentriya, ça fonctionne nickel !!
:-)

Hors ligne