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 GNU Discussion :

Extraction pour controle


Sujet :

Shell et commandes GNU

  1. #1
    Membre du Club
    Inscrit en
    Août 2008
    Messages
    8
    Détails du profil
    Informations forums :
    Inscription : Août 2008
    Messages : 8
    Par défaut Extraction pour controle
    Bonjour,

    Je reçois des fichiers à plats (txt) contenant des infos qui peuvent sembler redondantes
    J'ai besoins d'extraire une seule partie du fichier par colonne
    une fois effectué je souhaite faire un contrôle d'exhaustivité concernant cette fameuse colonne

    Extrait du fichier
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    "20080809";"20080804";"20080808";"000";"EXTERNE";"ED    ";"TP ";"1S";          8; 00000,00; 00000; 00000                                             
    "20080809";"20080804";"20080808";"000";"EXTERNE";"ED    ";"TP ";"1S";          9; 00000,00; 00000; 00000                                             
    "20080809";"20080804";"20080808";"000";"EXTERNE";"ED    ";"TP ";"1S";         10; 00000,00; 00000; 00000                                             
    "20080809";"20080804";"20080808";"000";"EXTERNE";"ED    ";"TP ";"2F";          1; 00000,00; 00000; 00000                                             
    "20080809";"20080804";"20080808";"000";"EXTERNE";"ED    ";"TP ";"2F";          2; 00000,00; 00000; 00000                                             
    "20080809";"20080804";"20080808";"000";"EXTERNE";"ED    ";"TP ";"2F";          3; 00000,00; 00000; 00000                                             
    "20080809";"20080804";"20080808";"000";"EXTERNE";"ED    ";"TP ";"2F";          4; 00000,00; 00000; 00000                                             
    "20080809";"20080804";"20080808";"000";"EXTERNE";"ED    ";"TP ";"2F";          5; 00000,00; 00000; 00000
    J'ai essayé avec awk mais j'ai un soucis de "" et de séparateur ';'
    et puis je ne maitrise pas trop ce genre de programmation


    En gros je souhaiterais pouvoir ressortir les valeur en 8ieme colonne et de les affiché en distinct (c'est a dire que si j'ai 10 fois 2F, il ne m'en affiche qu'un et le mieux si possible à coté son nombre)
    2F 10

    je vous remercie par avance à tous de l'aide que vous m'apporterez !

  2. #2
    Membre émérite Avatar de BlaireauOne
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    492
    Détails du profil
    Informations personnelles :
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Mars 2007
    Messages : 492
    Par défaut
    Je te laisse peaufiner le reste

    http://www.shellunix.com/awk.html
    http://lea-linux.org/cached/index/Dev-awk.html


    Script :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    sort -t";" -k8,8 -o test_trie.txt test.txt
     
    cat test_trie.txt
     
    awk -F";" '
    BEGIN {
        Precedent=""
    }
    {
        if ( $8 == Precedent ) {
            incr++
            next
        }
        if ( Precedent != "" ) {
            print Precedent, incr
        }
        Precedent=$8
        incr=1
    }
    END {
        print Precedent, incr
    } '  test_trie.txt
    Résultat :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    "2F" 1
    "1S" 3
    "2F" 4

  3. #3
    Membre du Club
    Inscrit en
    Août 2008
    Messages
    8
    Détails du profil
    Informations forums :
    Inscription : Août 2008
    Messages : 8
    Par défaut
    Merci pour ce petit shell !!

    Je n'avais pas pensé à utiliser "sort" afin de trier le contenu de mon fichier.

    En fait si mais avec excel c'est pas propre tout ca !!

    Merci encore ...

    je l'adapte à mes besoins exacte.

  4. #4
    Membre du Club
    Inscrit en
    Août 2008
    Messages
    8
    Détails du profil
    Informations forums :
    Inscription : Août 2008
    Messages : 8
    Par défaut
    re bonjour

    je continue ma demande ...

    comme je suis une bille en développement, je sais lire des script les modifier... mais pas les créer !

    Je souhaiterais ajouter une conditions sur le nombre de fois que la sélection sort
    Ex Si 2F sort plus de 4 alors je ne veux pas d'affichage .

    merci encore


    ******************************************************

    j'ai trouvé ma solution :
    j'envoi le tout dans un fichier et je traite ce fichier avec un deuxieme awk et sa condiftion ...

    voila

  5. #5
    Membre émérite Avatar de BlaireauOne
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    492
    Détails du profil
    Informations personnelles :
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Mars 2007
    Messages : 492
    Par défaut
    Ça doit le faire
    http://www.delorie.com/gnu/docs/gawk/gawk.1.html

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    .../...
        if ( Precedent != "" ) {
            if (incr < 5) {
                print Precedent, incr
            }
        }
    .../...

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. JSControlsTags, taglib pour controles javascript
    Par azerr dans le forum Taglibs
    Réponses: 33
    Dernier message: 25/02/2009, 11h26
  2. Expression reguliere pour controle
    Par Patrick-74 dans le forum Web
    Réponses: 5
    Dernier message: 19/12/2006, 20h24
  3. Langage pour contrôle multiprocessing
    Par crocodile dans le forum Langages de programmation
    Réponses: 4
    Dernier message: 13/06/2006, 20h02
  4. [FLASH MX2004] Probleme assignation de police pour controle cree dynamiquement
    Par Demco dans le forum ActionScript 1 & ActionScript 2
    Réponses: 2
    Dernier message: 03/05/2006, 12h07
  5. Test pour controler la licence des logiciels
    Par tigana dans le forum Autres Logiciels
    Réponses: 4
    Dernier message: 14/04/2006, 09h11

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