IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Shell et commandes POSIX Discussion :

Commande diff et sed


Sujet :

Shell et commandes POSIX

  1. #1
    Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2012
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Enseignement

    Informations forums :
    Inscription : Mai 2012
    Messages : 2
    Par défaut Commande diff et sed
    Bonjour je galere depuis une semaine avec les commande diff et sed
    Je dois comparer des blocs de fichiers.
    Dans un permier temps il faut selectionner le bloc à comparer:

    Par exemple le fichier ci dessous

    A01 Il est malade
    B02 Toto est de retour
    C01 Titi joue au foot
    A02 Il revise ses cours
    A01 Toto reviens ce soir
    B01 Eric code en "JAVA"
    C02 Marine est revenue
    A01 Toto est devenu sage
    B02 titi regarde la télé
    C01 Il est étudiant
    A02 Il revise ses cours

    le but est de selectionner dans chaque fichier le bloc contenant le mot JAVA sachant que le bloc commence par A01, il n'y pas de separateur entre les bloc on sait juste qu'elle commence par A01.
    Et une fois les blocs trouvés, on les comparer avec un diff
    C'est galere de trouver la solution
    J'ai utilisé la commande sed ci dessous:

    BG_ExecuterCommandeShell sed -n '#B01#{:z;N;#nA02#! bz;#$JAVA#p}' $fichier_ref > $p_fichier_ref
    #BG_ExecuterCommandeShell sed -n '#B01#{:z;N;#nA02#! bz;#$JAVA#p}' $fichier_new > $p_fichier_new
    BG_ExecuterCommandeShell diff $p_fichier_ref $p_fichier_new

    Mais ca ne passe pas et mon diff egalement ne marche pas

  2. #2
    Expert confirmé Avatar de frp31
    Homme Profil pro
    Ingénieur systèmes et réseaux
    Inscrit en
    Juillet 2006
    Messages
    5 196
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingénieur systèmes et réseaux
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Juillet 2006
    Messages : 5 196
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    #copier tes données dans fictmp si nécessaire 
    sed '/A01/,/A01/ /java/ [.........]' fictmp> fich_bloc1
    #renomer aussi le bloc traité pour pouvoir passer au suivant sans encombres
    sed '/A01,/A01/ /java/ [.........]' fictmp > fich_bloc2
     
    diff  fich_bloc1 fich_bloc2
    ça suffirait non ?
    comme ça tu traites par lots les différents blocs de N lignes contenus chacun entre le premier A01 de l'occurrence courante et le second, ce qui te permet de faire ta recherche dans le bloc de "java" et de traiter le bloc.

    ce qui travail donc comme suit :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    A01 Il est malade
    B02 Toto est de retour
    C01 Titi joue au foot
    A02 Il revise ses cours
    A01 Toto reviens ce soir
    pas de terme java : bloc suivant :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    A01 Toto reviens ce soir
    B01 Eric code en "JAVA"
    C02 Marine est revenue
    A01 Toto est devenu sage
    java est trouvé traiter....
    passer à l'occurrence suivante etc...Etc...

Discussions similaires

  1. exclure un fichier de la commande diff
    Par Tex-Twil dans le forum Linux
    Réponses: 6
    Dernier message: 19/11/2007, 12h15
  2. La commande DIFF
    Par jeff37 dans le forum Shell et commandes GNU
    Réponses: 3
    Dernier message: 24/09/2007, 14h42
  3. Inverse de la commande "diff"
    Par nenekes dans le forum Shell et commandes GNU
    Réponses: 1
    Dernier message: 21/11/2006, 16h21
  4. Sortie commande Diff
    Par CoderCool dans le forum Shell et commandes GNU
    Réponses: 1
    Dernier message: 09/10/2006, 11h33
  5. Utilisation de la commande diff
    Par Phaf dans le forum Linux
    Réponses: 3
    Dernier message: 04/04/2006, 09h42

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo