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 :

crée un script pour recheche en boucle


Sujet :

Shell et commandes GNU

  1. #21
    Membre émérite
    Avatar de f-k-z
    Homme Profil pro
    Ingénieur sécurité
    Inscrit en
    Juin 2006
    Messages
    403
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Mayenne (Pays de la Loire)

    Informations professionnelles :
    Activité : Ingénieur sécurité
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Juin 2006
    Messages : 403
    Par défaut
    Yop,
    ouki, je vais tenter de trouver un truc pas trop lourd mais je sais pas si cela sera posté dans la journée
    @++

    F-k-z

  2. #22
    Membre averti
    Inscrit en
    Juillet 2007
    Messages
    26
    Détails du profil
    Informations forums :
    Inscription : Juillet 2007
    Messages : 26
    Par défaut
    ok sachant que sa pourrait bien être autre que :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    lawsoncompanyF: 4050    -->  lawsoncompanyF:4050-4052
    lawsoncompanyF: 4052
    sa pourrait tout aussi être :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    lawsoncompanyF: 7        -->   lawsoncompanyF:7-10
    lawsoncompanyF: 8
    lawsoncompanyF: 9
    lawsoncompanyF: 10
    ou meme
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    lawsoncompanyF: 104    -->  lawsoncompanyF:104-107
    lawsoncompanyF: 105
    lawsoncompanyF: 106
    lawsoncompanyF: 107

  3. #23
    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
    Une implémentation qui gère les numérotations avec changement de compagnie

    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
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
     
    grep -E 'lawsoncompanyF:|lawsoncompanyI:' test1 > fichiertmp1
    sort -k1,1 -k2,2n fichiertmp1  > test
    rm fichiertmp1 
     
    awk '
    function FctFinEnreg()
    {
    	if (TopListe == 1) {
    		print "-"Wprecedent
    		TopListe=0
    	} else {
    		print ""
    	}
    }
    BEGIN {
    	Wcie=""
    	Wprecedent=9999999
    	TopListe=0
    }
    {
    	if ($1 == Wcie || NR == 1) 
    	{
    		Wcie=$1
    		Wsuivant=Wprecedent+1
    		if ($2 == Wsuivant) {
    			Wprecedent=$2
    			TopListe=1
    			next
    		}
    		FctFinEnreg()
    		printf("%s %s",$1,$2)
    		Wprecedent=$2
    		next
    	}
    	Wcie=$1
    	FctFinEnreg()
    	printf("%s %s",$1,$2)
    	Wprecedent=$2
    }
    END {
    	FctFinEnreg()
    } ' test
    Exemple d'entree :

    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
     
    lawsoncompanyI: 2
    lawsoncompanyI: 3
    lawsoncompanyI: 5
    lawsoncompanyI: 6
    lawsoncompanyI: 7
    lawsoncompanyI: 8
    lawsoncompanyF: 9936
    lawsoncompanyF: 8
    lawsoncompanyF: 4052
    lawsoncompanyF: 4051
    lawsoncompanyF: 4050
    lawsoncompanyF: 4000
    lawsoncompanyF: 24
    lawsoncompanyF: 2

    Sortie :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    lawsoncompanyF: 2
    lawsoncompanyF: 8
    lawsoncompanyF: 24
    lawsoncompanyF: 4000
    lawsoncompanyF: 4050-4052
    lawsoncompanyF: 9936
    lawsoncompanyI: 2-3
    lawsoncompanyI: 5-8

  4. #24
    Membre émérite
    Avatar de f-k-z
    Homme Profil pro
    Ingénieur sécurité
    Inscrit en
    Juin 2006
    Messages
    403
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Mayenne (Pays de la Loire)

    Informations professionnelles :
    Activité : Ingénieur sécurité
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Juin 2006
    Messages : 403
    Par défaut
    Yop,
    sympa le code j'avais et j'aurais pas pensé à l'implémanter ainsi
    sinon tu pourrais me donner une petite explication de la ligne:
    sort -k1,1 -k2,2n fichiertmp1 > test
    enfin surtout de -k1,1 -k,2n
    Merci d'avance

    F-k-z

    //edit: ouiki c'ets bon j'ai pigé enfin tu pourras me corriger s'il faut:
    -k1,1 car permet de trier selon la premiere colonne
    -k2,2n on trie selon la seconde colonne

  5. #25
    Membre averti
    Inscrit en
    Juillet 2007
    Messages
    26
    Détails du profil
    Informations forums :
    Inscription : Juillet 2007
    Messages : 26
    Par défaut
    vraiment trop trop fort !!

    le seul bémol c'est que : est t-il possible d'effacer les doublon ?

    exemple de fichier d'entrer:

    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
    lawsoncompanyI: 2
    lawsoncompanyI: 3
    lawsoncompanyI: 5
    lawsoncompanyI: 6
    lawsoncompanyI: 7
    lawsoncompanyI: 8
    lawsoncompanyF: 9936
    lawsoncompanyF: 8
    lawsoncompanyF: 4052
    lawsoncompanyF: 4051
    lawsoncompanyF: 4050
    lawsoncompanyF: 4000
    lawsoncompanyF: 24
    lawsoncompanyF: 2
    lawsoncompanyF: 4000
    fichier de sortie :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    lawsoncompanyF: 2
    lawsoncompanyF: 8
    lawsoncompanyF: 24
    lawsoncompanyF: 4000
    lawsoncompanyF: 4000
    lawsoncompanyF: 4050-4052
    lawsoncompanyF: 9936
    lawsoncompanyI: 2-3
    lawsoncompanyI: 5-8
    merci encore

    hmm...
    je vient d'intégrer la commande unik tous est ok .


    PS: "une petite explication serait la bien venue "

  6. #26
    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
    [QUOTE=karamurat]
    le seul bémol c'est que : est t-il possible d'effacer les doublon ?
    [\QUOTE]


    J'ai oublié de mettre l'option -u dans le sort ( élimine les doublons ) qui permet de se passer de uniq.

    Dans le sort, -k2,2n ( n pour numéric ) :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    sort -u -k1,1 -k2,2n fichiertmp1  > test

  7. #27
    Membre averti
    Inscrit en
    Juillet 2007
    Messages
    26
    Détails du profil
    Informations forums :
    Inscription : Juillet 2007
    Messages : 26
    Par défaut
    hmm...

    Est-ce normal qu'une fois le script générer j'ai bien a l'écran :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    lawsoncompanyF: 2
    lawsoncompanyF: 8
    lawsoncompanyF: 24
    lawsoncompanyF: 4000
    lawsoncompanyF: 4050-4052
    lawsoncompanyF: 9936
    lawsoncompanyI: 2-3
    lawsoncompanyI: 5-8
    mais une fois le fichier ouvert via "more" ou "cat"

    j'ai :
    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
    dev4: cat test
    lawsoncompanyF: 2
    lawsoncompanyF: 8
    lawsoncompanyF: 24
    lawsoncompanyF: 4000
    lawsoncompanyF: 4050
    lawsoncompanyF: 4051
    lawsoncompanyF: 4052
    lawsoncompanyF: 9936
    lawsoncompanyI: 2
    lawsoncompanyI: 3
    lawsoncompanyI: 5
    lawsoncompanyI: 6
    lawsoncompanyI: 7
    lawsoncompanyI: 8

  8. #28
    Membre émérite
    Avatar de f-k-z
    Homme Profil pro
    Ingénieur sécurité
    Inscrit en
    Juin 2006
    Messages
    403
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Mayenne (Pays de la Loire)

    Informations professionnelles :
    Activité : Ingénieur sécurité
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Juin 2006
    Messages : 403
    Par défaut
    Yop,
    désolé avoir mis autant de tps pour te répondre alors que j'avais la solution
    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
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
     
    grep -E 'lawsoncompanyF:|lawsoncompanyI:' test1 > fichiertmp1
    sort -k1,1 -k2,2n fichiertmp1  > test
    rm fichiertmp1 
     
    awk '
    function FctFinEnreg()
    {
    	if (TopListe == 1) {
    		print "-"Wprecedent
    		TopListe=0
    	} else {
    		print ""
    	}
    }
    BEGIN {
    	Wcie=""
    	Wprecedent=9999999
    	TopListe=0
    }
    {
    	if ($1 == Wcie || NR == 1) 
    	{
    		Wcie=$1
    		Wsuivant=Wprecedent+1
    		if ($2 == Wsuivant) {
    			Wprecedent=$2
    			TopListe=1
    			next
    		}
    		FctFinEnreg()
    		printf("%s %s",$1,$2)
    		Wprecedent=$2
    		next
    	}
    	Wcie=$1
    	FctFinEnreg()
    	printf("%s %s",$1,$2)
    	Wprecedent=$2
    }
    END {
    	FctFinEnreg()
    } ' test > testfin
    Voila à la fin du script il fallait juste rediriger la sortie vers un fichier ici
    testfin

    @++

    F-k-z

  9. #29
    Membre averti
    Inscrit en
    Juillet 2007
    Messages
    26
    Détails du profil
    Informations forums :
    Inscription : Juillet 2007
    Messages : 26
    Par défaut
    voici donc la version "BETA" lol de mon script,j'ai renommer "test" en "FILE" :
    je l'appelle Conversation_liste_compagnie.sh

    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
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    grep -E 'lawsoncompanyF:|lawsoncompanyI:' FILE > fichiertmp1
    sort -u -k1,1 -k2,2n fichiertmp1  > fichiertmp2
    rm fichiertmp1
     
    awk '
    function FctFinEnreg()
    {
            if (TopListe == 1) {
                    print "-"Wprecedent
                    TopListe=0
            } else {
                    print ""
            }
    }
    BEGIN {
            Wcie=""
            Wprecedent=9999999
            TopListe=0
    }
    {
            if ($1 == Wcie || NR == 1)
            {
                    Wcie=$1
                    Wsuivant=Wprecedent+1
                    if ($2 == Wsuivant) {
                            Wprecedent=$2
                            TopListe=1
                            next
                    }
                    FctFinEnreg()
                    printf("%s %s",$1,$2)
                    Wprecedent=$2
                    next
            }
            Wcie=$1
            FctFinEnreg()
            printf("%s %s",$1,$2)
            Wprecedent=$2
    }
    END {
            FctFinEnreg()
    } ' fichiertmp2 > FILE1
    rm fichiertmp2
    j'ai également trouver le moyen de de faire une recherche en boucle :
    je l'appelle "Sortie_liste_compagnie.sh"

    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
    # usage  Sortie_liste_compagnie.sh MEA
     
    LEVEL_LIST=$*
    SCRIPT=$0   # le nom de ce script
     
      # affiche list des companies pour les niveaux donnees avec $* :
    ./Lget_company_access.sh $* | grep -i lawsoncompany
     
      # continue pour chaque niveau inferieur (lawsonchlidren):
    ./Lget_company_access.sh $* | grep -i lawsonchildren | cut -f 2 -d" " | while read CHILD
    do
     
            echo child $CHILD # juste pour info , a enlever
     
            sh ./${SCRIPT} $CHILD
            echo  # a enlever
     
    done
    le seul bémol c'est comment générer la sortie du script (Sortie_liste_compagnie.sh) en fichier de sortie "FILE" pour que celle ci soit générer par le script (Conversation_liste_compagnie.sh) ?

    edit :bon j'ai réussi a intégrer le script "Sortie_liste_compagnie.sh" dans le script "Conversation_liste_compagnie.sh" ce qui donne :

    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
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    # usage  Sortie_liste_compagnie.sh MEA 
    
    LEVEL_LIST=$*
    SCRIPT=$0   # le nom de ce script
    
      # affiche list des companies pour les niveaux donnees avec $* :
    ./Lget_company_access.sh $* | grep -i lawsoncompany 
    
      # continue pour chaque niveau inferieur (lawsonchlidren):
    ./Lget_company_access.sh $* | grep -i lawsonchildren | cut -f 2 -d" " | while read CHILD
    do
    
            echo child $CHILD # juste pour info , a enlever
    
            sh ./${SCRIPT} $CHILD
            echo  # a enlever
    
    done > FILE
    
    
    grep -E 'lawsoncompanyF:|lawsoncompanyI:' FILE > fichiertmp1
    sort -u -k1,1 -k2,2n fichiertmp1  > fichiertmp2
    rm fichiertmp1
    
    awk '
    function FctFinEnreg()
    {
            if (TopListe == 1) {
                    print "-"Wprecedent
                    TopListe=0
            } else {
                    print ""
            }
    }
    BEGIN {
            Wcie=""
            Wprecedent=9999999
            TopListe=0
    }
    {
            if ($1 == Wcie || NR == 1)
            {
                    Wcie=$1
                    Wsuivant=Wprecedent+1
                    if ($2 == Wsuivant) {
                            Wprecedent=$2
                            TopListe=1
                            next
                    }
                    FctFinEnreg()
                    printf("%s %s",$1,$2)
                    Wprecedent=$2
                    next
            }
            Wcie=$1
            FctFinEnreg()
            printf("%s %s",$1,$2)
            Wprecedent=$2
    }
    END {
            FctFinEnreg()
    } ' fichiertmp2 > FILE1
    rm fichiertmp2

  10. #30
    Membre émérite
    Avatar de f-k-z
    Homme Profil pro
    Ingénieur sécurité
    Inscrit en
    Juin 2006
    Messages
    403
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Mayenne (Pays de la Loire)

    Informations professionnelles :
    Activité : Ingénieur sécurité
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Juin 2006
    Messages : 403
    Par défaut
    Yop,
    pour moi ça à l'air correct au premier coup d'oeil
    @++

    F-k-z

  11. #31
    Membre averti
    Inscrit en
    Juillet 2007
    Messages
    26
    Détails du profil
    Informations forums :
    Inscription : Juillet 2007
    Messages : 26
    Par défaut
    bon voila ,
    je souhaiterai ajouter une condition :
    Lorsque j'ai 2 compagnie identique l'un en Full access (lawsoncompanyF: 2)
    et l'autre en Inquiry access (lawsoncompanyI: 2) , jevoudrais que c'est le full acces qu'il l'emporte , est-ce possible ?

    exemple :
    je voudrais passer donc de ça :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    lawsoncompanyF: 2
    lawsoncompanyF: 8
    lawsoncompanyF: 24
    lawsoncompanyF: 4000
    lawsoncompanyF: 4010-4020
    lawsoncompanyF: 4050-4052
    lawsoncompanyF: 9936
    lawsoncompanyI: 2-3
    lawsoncompanyI: 5-8
    lawsoncompanyI: 4020
    a ça :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    lawsoncompanyF: 2
    lawsoncompanyF: 8
    lawsoncompanyF: 24
    lawsoncompanyF: 4000
    lawsoncompanyF: 4010-4020
    lawsoncompanyF: 4050-4052
    lawsoncompanyF: 9936
    lawsoncompanyI: 3
    lawsoncompanyI: 5-8
    Merci d'avance ,

  12. #32
    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
    Possible en traitant un fichier d'origine (test00) comme le suivant :

    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
     
    lawsoncompanyI: 2
    lawsoncompanyI: 3
    lawsoncompanyI: 5
    lawsoncompanyI: 6
    lawsoncompanyI: 7
    lawsoncompanyI: 8
    lawsoncompanyI: 10
    lawsoncompanyI: 4020
    lawsoncompanyF: 9936
    lawsoncompanyF: 8
    lawsoncompanyF: 4052
    lawsoncompanyF: 4051
    lawsoncompanyF: 4050
    lawsoncompanyF: 4000
    lawsoncompanyF: 4020
    lawsoncompanyF: 24
    lawsoncompanyF: 2
    Script ( très utile la commande join ) :

    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
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
     
    grep "^lawsoncompanyI" test00 > cieI 
    grep "^lawsoncompanyF" test00 > cieF 
     
    sort -t":" -k2,2n -u -o cieI cieI
    sort -t":" -k2,2n -u -o cieF cieF
     
    echo "* cie F : "
    cat cieF
    echo -e "\n* cie I : "
    cat cieI
     
    join -t":" -1 2 -2 2 -a 1 -a 2 cieF cieI > test01
    echo -e "\n* test01 (apres join) : "
    cat test01
     
    sed  -e 's/lawsoncompanyF:lawsoncompanyI$/lawsoncompanyF/' \
         -e 's/\(^.*\):\(.*$\)/\2:\1/' test01 > test02
    echo -e "\n* test02 (apres reformatage) : "
    cat test02
     
    sort -k1,1 -k2,2n test02  > test03
     
    echo -e "\n* test03 (apres compactage) : "
    awk '
    function FctFinEnreg()
    {
    	if (TopListe == 1) {
    		print "-"Wprecedent
    		TopListe=0
    	} else {
    		print ""
    	}
    }
    BEGIN {
    	Wcie=""
    	Wprecedent=9999999
    	TopListe=0
    }
    {
    	if ($1 == Wcie || NR == 1) 
    	{
    		Wcie=$1
    		Wsuivant=Wprecedent+1
    		if ($2 == Wsuivant) {
    			Wprecedent=$2
    			TopListe=1
    			next
    		}
    		FctFinEnreg()
    		printf("%s %s",$1,$2)
    		Wprecedent=$2
    		next
    	}
    	Wcie=$1
    	FctFinEnreg()
    	printf("%s %s",$1,$2)
    	Wprecedent=$2
    }
    END {
    	FctFinEnreg()
    } ' test03

    Traitement :
    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
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    * cie F : 
    lawsoncompanyF: 2
    lawsoncompanyF: 8
    lawsoncompanyF: 24
    lawsoncompanyF: 4000
    lawsoncompanyF: 4020
    lawsoncompanyF: 4050
    lawsoncompanyF: 4051
    lawsoncompanyF: 4052
    lawsoncompanyF: 9936
    
    * cie I : 
    lawsoncompanyI: 2
    lawsoncompanyI: 3
    lawsoncompanyI: 5
    lawsoncompanyI: 6
    lawsoncompanyI: 7
    lawsoncompanyI: 8
    lawsoncompanyI: 10
    lawsoncompanyI: 4020
    
    * test01 (apres join) : 
     2:lawsoncompanyF:lawsoncompanyI
     3:lawsoncompanyI
     5:lawsoncompanyI
     6:lawsoncompanyI
     7:lawsoncompanyI
     8:lawsoncompanyF:lawsoncompanyI
     10:lawsoncompanyI
     24:lawsoncompanyF
     4000:lawsoncompanyF
     4020:lawsoncompanyF:lawsoncompanyI
     4050:lawsoncompanyF
     4051:lawsoncompanyF
     4052:lawsoncompanyF
     9936:lawsoncompanyF
    
    * test02 (apres reformatage) : 
    lawsoncompanyF: 2
    lawsoncompanyI: 3
    lawsoncompanyI: 5
    lawsoncompanyI: 6
    lawsoncompanyI: 7
    lawsoncompanyF: 8
    lawsoncompanyI: 10
    lawsoncompanyF: 24
    lawsoncompanyF: 4000
    lawsoncompanyF: 4020
    lawsoncompanyF: 4050
    lawsoncompanyF: 4051
    lawsoncompanyF: 4052
    lawsoncompanyF: 9936
    
    * test03 (apres compactage) : 
    
    lawsoncompanyF: 2
    lawsoncompanyF: 8
    lawsoncompanyF: 24
    lawsoncompanyF: 4000
    lawsoncompanyF: 4020
    lawsoncompanyF: 4050-4052
    lawsoncompanyF: 9936
    lawsoncompanyI: 3
    lawsoncompanyI: 5-7
    lawsoncompanyI: 10

  13. #33
    Membre averti
    Inscrit en
    Juillet 2007
    Messages
    26
    Détails du profil
    Informations forums :
    Inscription : Juillet 2007
    Messages : 26
    Par défaut
    Vraiment j'ai été scotcher sur l'écran (déja a comprendre ) mais là , tu es trop balaize , vraiment bravo et touts mes respects !

    pourrait tu faire une modif au niveau du trie ,au lieu que le trie se fasse dabord avec les lawsoncomapnyF je voudrais que le trie s'effectue sur les n° de compagnie ,j'ai essayer de rajouter la commande sort a la fin du script mais sans espoir.. , ex:
    fichier sortie générer par le script actuelle :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    lawsoncompanyF: 2
    lawsoncompanyF: 8
    lawsoncompanyF: 24
    lawsoncompanyF: 4000
    lawsoncompanyF: 4020
    lawsoncompanyF: 4050-4052
    lawsoncompanyF: 9936
    lawsoncompanyI: 3
    lawsoncompanyI: 5-7
    lawsoncompanyI: 10
    fichier de sortie trier en fonction des N° de compagnie :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    lawsoncompanyF: 2
    lawsoncompanyI: 3
    lawsoncompanyI: 5-7
    lawsoncompanyF: 8
    lawsoncompanyI: 10
    lawsoncompanyF: 24
    lawsoncompanyF: 4000
    lawsoncompanyF: 4020
    lawsoncompanyF: 4050-4052
    lawsoncompanyF: 9936
    Merci encore ,

    hmm... apres avoir fait un sort en dehors du script j'ai remarque des doublons

    j'avais une liste d'entrer :
    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
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    120
    121
    122
    123
    124
    125
    126
    127
    128
    129
    130
    131
    132
    133
    134
    135
    136
    137
    138
    139
    140
    141
    142
    143
    144
    145
    146
    147
    148
    149
    150
    151
    152
    153
    154
    155
    156
    157
    158
    159
    160
    161
    162
    163
    164
    165
    166
    167
    168
    169
    170
    171
    172
    173
    174
    175
    176
    177
    178
    179
    180
    181
    182
    183
    184
    185
    186
    187
    188
    189
    190
    191
    192
    193
    194
    195
    196
    197
    198
    199
    200
    201
    202
    203
    204
    205
    206
    207
    208
    209
    210
    211
    212
    213
    214
    215
    216
    217
    218
    219
    220
    221
    222
    223
    224
    225
    226
    227
    228
    229
    230
    231
    232
    233
    234
    235
    236
    237
    238
    239
    240
    241
    242
    243
    244
    245
    246
    247
    248
    249
    250
    251
    252
    253
    254
    255
    256
    257
    258
    259
    260
    261
    262
    263
    264
    265
    266
    267
    268
    269
    270
    271
    272
    273
    274
    275
    276
    277
    278
    279
    280
    281
    282
    283
    284
    285
    286
    287
    288
    289
    290
    291
    292
    293
    294
    295
    296
    297
    298
    299
    300
    301
    302
    303
    304
    305
    306
    307
    308
    309
    310
    311
    312
    313
    314
    315
    316
    317
    318
    319
    320
    321
    322
    323
    324
    325
    326
    327
    328
    329
    330
    331
    332
    333
    334
    335
    336
    337
    338
    339
    340
    341
    342
    343
    344
    345
    346
    347
    348
    349
    350
    351
    352
    353
    354
    355
    356
    357
    358
    359
    360
    361
    362
    363
    364
    365
    366
    367
    368
    369
    370
    371
    372
    373
    374
    375
    376
    377
    378
    379
    380
    381
    382
    383
    384
    385
    386
    387
    388
    389
    390
    391
    392
    393
    394
    395
    396
    397
    398
    399
    400
    401
    402
    403
    404
    405
    406
    407
    408
    409
    410
    411
    412
    413
    414
    415
    416
    417
    418
    419
    420
    421
    422
    423
    424
    425
    426
    427
    428
    429
    430
    431
    432
    433
    434
    435
    436
    437
    438
    439
    440
    441
    442
    443
    444
    445
    446
    447
    448
    449
    450
    451
    452
    453
    454
    455
    456
    457
    lawsoncompanyF: 9900-9999
    child APG
    lawsoncompanyI: 2000
    lawsoncompanyI: 905
    lawsoncompanyF: 14
    lawsoncompanyF: 1733
    lawsoncompanyF: 2
    lawsoncompanyF: 24
    lawsoncompanyF: 311
    lawsoncompanyF: 44
    lawsoncompanyF: 7
    lawsoncompanyF: 77
    lawsoncompanyF: 8
    lawsoncompanyF: 81
    lawsoncompanyF: 89
    lawsoncompanyF: 9931
    child AU
     
    child NZ
    lawsoncompanyF: 4000
    lawsoncompanyF: 4040
     
    child PG
     
     
    child ARM
    lawsoncompanyI: 2000
    lawsoncompanyF: 112
    lawsoncompanyF: 113
    lawsoncompanyF: 15
    lawsoncompanyF: 154
    lawsoncompanyF: 16
    lawsoncompanyF: 175
    lawsoncompanyF: 18
    lawsoncompanyF: 188
    lawsoncompanyF: 2
    lawsoncompanyF: 205
    lawsoncompanyF: 21
    lawsoncompanyF: 211
    lawsoncompanyF: 24
    lawsoncompanyF: 26
    lawsoncompanyF: 311
    lawsoncompanyF: 315
    lawsoncompanyF: 4
    lawsoncompanyF: 41
    lawsoncompanyF: 44
    lawsoncompanyF: 47
    lawsoncompanyF: 49
    lawsoncompanyF: 5
    lawsoncompanyF: 62
    lawsoncompanyF: 7
    lawsoncompanyF: 75
    lawsoncompanyF: 78
    lawsoncompanyF: 8
    lawsoncompanyF: 9
    lawsoncompanyF: 929
    lawsoncompanyF: 935
    lawsoncompanyF: 9932
    child BH
     
    child KW
    lawsoncompanyF: 4000
     
    child PK
    lawsoncompanyF: 4000
     
    child SA
    lawsoncompanyF: 16
    lawsoncompanyF: 2016
    lawsoncompanyF: 4000
    lawsoncompanyF: 4062
    lawsoncompanyF: 5
     
    child Khafji
     
     
    child BMP
    lawsoncompanyI: 2000
    lawsoncompanyF: 156
    lawsoncompanyF: 168
    lawsoncompanyF: 17
    lawsoncompanyF: 1732
    lawsoncompanyF: 179
    lawsoncompanyF: 181
    lawsoncompanyF: 2
    lawsoncompanyF: 23
    lawsoncompanyF: 24
    lawsoncompanyF: 33
    lawsoncompanyF: 34
    lawsoncompanyF: 343
    lawsoncompanyF: 373
    lawsoncompanyF: 43
    lawsoncompanyF: 52
    lawsoncompanyF: 54
    lawsoncompanyF: 9
    lawsoncompanyF: 9935
    lawsoncompanyF: 9933
    lawsoncompanyF: 9942
    lawsoncompanyF: 9930
    child BN
    lawsoncompanyF: 156
    lawsoncompanyF: 168
    lawsoncompanyF: 17
    lawsoncompanyF: 1732
    lawsoncompanyF: 179
    lawsoncompanyF: 181
    lawsoncompanyF: 2
    lawsoncompanyF: 2000
    lawsoncompanyF: 23
    lawsoncompanyF: 33
    lawsoncompanyF: 34
    lawsoncompanyF: 4000
    lawsoncompanyF: 43
    lawsoncompanyF: 52
    lawsoncompanyF: 9
    lawsoncompanyF: 9930
    lawsoncompanyF: 9933
    lawsoncompanyF: 9935
    lawsoncompanyF: 9942
     
    child MY
    lawsoncompanyF: 17
    lawsoncompanyF: 179
    lawsoncompanyF: 2017
    lawsoncompanyF: 2034
    lawsoncompanyF: 2043
    lawsoncompanyF: 2179
    lawsoncompanyF: 34
    lawsoncompanyF: 4000
    lawsoncompanyF: 43
     
    child PH
     
    child SG
     
     
    child CHG
    lawsoncompanyI: 2000
    lawsoncompanyI: 311
    lawsoncompanyI: 54
    lawsoncompanyF: 112
    lawsoncompanyF: 147
    lawsoncompanyF: 15
    lawsoncompanyF: 151
    lawsoncompanyF: 153
    lawsoncompanyF: 154
    lawsoncompanyF: 1697
    lawsoncompanyF: 1708
    lawsoncompanyF: 1732
    lawsoncompanyF: 2
    lawsoncompanyF: 21
    lawsoncompanyF: 312
    lawsoncompanyF: 344
    lawsoncompanyF: 347
    lawsoncompanyF: 35
    lawsoncompanyF: 36
    lawsoncompanyF: 37
    lawsoncompanyF: 44
    lawsoncompanyF: 47
    lawsoncompanyF: 50
    lawsoncompanyF: 63
    lawsoncompanyF: 7
    lawsoncompanyF: 77
    lawsoncompanyF: 8
    lawsoncompanyF: 83
    lawsoncompanyF: 9934
    child CN
     
    child JP
     
    child KR
     
    child TW
     
     
    child EEG
    lawsoncompanyI: 2000
    lawsoncompanyF: 15
    lawsoncompanyF: 151
    lawsoncompanyF: 18
    lawsoncompanyF: 2
    lawsoncompanyF: 26
    lawsoncompanyF: 268
    lawsoncompanyF: 311
    lawsoncompanyF: 4
    lawsoncompanyF: 45
    lawsoncompanyF: 5
    lawsoncompanyF: 58
    lawsoncompanyF: 8
    lawsoncompanyF: 9935
    child EG
     
    child ER
     
    child ET
     
    child JO
     
    child KE
     
    child SD
     
    child SO
     
    child SY
     
    child TZ
     
     
    child FMC
    lawsoncompanyI: 2000
    lawsoncompanyF: 110
    lawsoncompanyF: 113
    lawsoncompanyF: 114
    lawsoncompanyF: 15
    lawsoncompanyF: 151
    lawsoncompanyF: 16
    lawsoncompanyF: 169
    lawsoncompanyF: 1732
    lawsoncompanyF: 174
    lawsoncompanyF: 18
    lawsoncompanyF: 188
    lawsoncompanyF: 190
    lawsoncompanyF: 2
    lawsoncompanyF: 206
    lawsoncompanyF: 218
    lawsoncompanyF: 281
    lawsoncompanyF: 311
    lawsoncompanyF: 327
    lawsoncompanyF: 343
    lawsoncompanyF: 348
    lawsoncompanyF: 38
    lawsoncompanyF: 384
    lawsoncompanyF: 386
    lawsoncompanyF: 388
    lawsoncompanyF: 389
    lawsoncompanyF: 4
    lawsoncompanyF: 41
    lawsoncompanyF: 5
    lawsoncompanyF: 64
    lawsoncompanyF: 7
    lawsoncompanyF: 74
    lawsoncompanyF: 75
    lawsoncompanyF: 76
    lawsoncompanyF: 77
    lawsoncompanyF: 78
    lawsoncompanyF: 8
    lawsoncompanyF: 9
    lawsoncompanyF: 901
    lawsoncompanyF: 953
    lawsoncompanyF: 9933
    lawsoncompanyF: 9935
    lawsoncompanyF: 9942
    lawsoncompanyF: 9930
     
    child GFM
    lawsoncompanyI: 1732
    lawsoncompanyI: 2000
    lawsoncompanyI: 311
    lawsoncompanyI: 41
    lawsoncompanyF: 15
    lawsoncompanyF: 188
    lawsoncompanyF: 2
    lawsoncompanyF: 24
    lawsoncompanyF: 253
    lawsoncompanyF: 26
    lawsoncompanyF: 379
    lawsoncompanyF: 4
    lawsoncompanyF: 44
    lawsoncompanyF: 5
    lawsoncompanyF: 8
    lawsoncompanyF: 9936
    child AE
     
    child OM
    lawsoncompanyF: 2
    lawsoncompanyF: 24
    lawsoncompanyF: 4000
    lawsoncompanyF: 4050
    lawsoncompanyF: 4051
    lawsoncompanyF: 4052
    lawsoncompanyF: 8
     
    child YE
    lawsoncompanyF: 4000
     
     
    child ING
    lawsoncompanyI: 1708
    lawsoncompanyI: 1999
    lawsoncompanyI: 2000
    lawsoncompanyF: 12
    lawsoncompanyF: 15
    lawsoncompanyF: 1568
    lawsoncompanyF: 1735
    lawsoncompanyF: 184
    lawsoncompanyF: 186
    lawsoncompanyF: 188
    lawsoncompanyF: 2
    lawsoncompanyF: 29
    lawsoncompanyF: 311
    lawsoncompanyF: 32
    lawsoncompanyF: 38
    lawsoncompanyF: 44
    lawsoncompanyF: 64
    lawsoncompanyF: 67
    lawsoncompanyF: 9
    lawsoncompanyF: 92
    lawsoncompanyF: 9937
    child ID
    lawsoncompanyI: 15
    lawsoncompanyI: 1708
    lawsoncompanyI: 1999
    lawsoncompanyI: 2
    lawsoncompanyI: 311
    lawsoncompanyF: 12
    lawsoncompanyF: 1568
    lawsoncompanyF: 1735
    lawsoncompanyF: 184
    lawsoncompanyF: 186
    lawsoncompanyF: 188
    lawsoncompanyF: 2000
    lawsoncompanyF: 29
    lawsoncompanyF: 32
    lawsoncompanyF: 38
    lawsoncompanyF: 4000
    lawsoncompanyF: 64
    lawsoncompanyF: 67
    lawsoncompanyF: 9
    lawsoncompanyF: 92
    lawsoncompanyF: 9937
     
    child JOP
     
    child KAL
     
    child CTX
     
     
    child INM
    lawsoncompanyI: 1996
    lawsoncompanyI: 1998
    lawsoncompanyI: 2000
    lawsoncompanyF: 1999
    lawsoncompanyF: 2
    lawsoncompanyF: 311
    lawsoncompanyF: 339
    lawsoncompanyF: 41
    lawsoncompanyF: 44
    lawsoncompanyF: 47
    lawsoncompanyF: 7
    lawsoncompanyF: 74
    lawsoncompanyF: 8
    lawsoncompanyF: 9938
    child IN
    lawsoncompanyI: 1996
    lawsoncompanyI: 1998
    lawsoncompanyF: 1999
    lawsoncompanyF: 2
    lawsoncompanyF: 2000
    lawsoncompanyF: 2339
    lawsoncompanyF: 311
    lawsoncompanyF: 339
    lawsoncompanyF: 4000
    lawsoncompanyF: 41
    lawsoncompanyF: 44
    lawsoncompanyF: 47
    lawsoncompanyF: 7
    lawsoncompanyF: 74
    lawsoncompanyF: 8
    lawsoncompanyF: 9938
     
     
    child IRG
    lawsoncompanyI: 2000
    lawsoncompanyI: 311
    lawsoncompanyF: 150
    lawsoncompanyF: 18
    lawsoncompanyF: 2
    lawsoncompanyF: 20
    lawsoncompanyF: 41
    lawsoncompanyF: 46
    lawsoncompanyF: 5
    lawsoncompanyF: 58
    lawsoncompanyF: 62
    lawsoncompanyF: 9939
    child IR
    lawsoncompanyF: 150
    lawsoncompanyF: 2
    lawsoncompanyF: 20
    lawsoncompanyF: 2000
    lawsoncompanyF: 4000
    lawsoncompanyF: 41
    lawsoncompanyF: 46
    lawsoncompanyF: 5
    lawsoncompanyF: 58
    lawsoncompanyF: 62
    lawsoncompanyF: 9939
     
     
    child TMV
    lawsoncompanyI: 1995
    lawsoncompanyI: 1996
    lawsoncompanyI: 1997
    lawsoncompanyI: 1998
    lawsoncompanyI: 1999
    lawsoncompanyI: 2000
    lawsoncompanyF: 1730
    lawsoncompanyF: 18
    lawsoncompanyF: 2
    lawsoncompanyF: 4
    lawsoncompanyF: 41
    lawsoncompanyF: 60
    lawsoncompanyF: 7
    lawsoncompanyF: 9
    lawsoncompanyF: 9941
    child BD
     
    child MM
    lawsoncompanyF: 4000
     
    child TH
    lawsoncompanyF: 4000
    lawsoncompanyF: 4031
     
    child VN
    lawsoncompanyF: 2060
    lawsoncompanyF: 4000
    lawsoncompanyF: 60
     
    child KH
     
     
    child MEA_PHQ
     
    child MEA_FE
     
    child MEA_C/JA
     
    child QTG
    lawsoncompanyI: 2000
    lawsoncompanyF: 15
    lawsoncompanyF: 16
    lawsoncompanyF: 2
    lawsoncompanyF: 24
    lawsoncompanyF: 26
    lawsoncompanyF: 311
    lawsoncompanyF: 41
    lawsoncompanyF: 5
    lawsoncompanyF: 58
    lawsoncompanyF: 6
    lawsoncompanyF: 62
    lawsoncompanyF: 8
    child QA
    lawsoncompanyF: 2
    lawsoncompanyF: 4000
    lawsoncompanyF: 4060
    j'ai lancer le script :
    fichier sortie :
    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
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    lawsoncompanyF: 2
    lawsoncompanyF: 4-9
    lawsoncompanyF: 12
    lawsoncompanyF: 14-18
    lawsoncompanyF: 20-21
    lawsoncompanyF: 23-24
    lawsoncompanyF: 26
    lawsoncompanyF: 29
    lawsoncompanyF: 32-38
    lawsoncompanyF: 41
    lawsoncompanyF: 43-47
    lawsoncompanyF: 49-50
    lawsoncompanyF: 52
    lawsoncompanyF: 54
    lawsoncompanyF: 58
    lawsoncompanyF: 60
    lawsoncompanyF: 62-64
    lawsoncompanyF: 67
    lawsoncompanyF: 74-78
    lawsoncompanyF: 81
    lawsoncompanyF: 83
    lawsoncompanyF: 89
    lawsoncompanyF: 92
    lawsoncompanyF: 110
    lawsoncompanyF: 112-114
    lawsoncompanyF: 147
    lawsoncompanyF: 150-151
    lawsoncompanyF: 153-154
    lawsoncompanyF: 156
    lawsoncompanyF: 168-169
    lawsoncompanyF: 174-175
    lawsoncompanyF: 179
    lawsoncompanyF: 181
    lawsoncompanyF: 184
    lawsoncompanyF: 186
    lawsoncompanyF: 188
    lawsoncompanyF: 190
    lawsoncompanyF: 205-206
    lawsoncompanyF: 211
    lawsoncompanyF: 218
    lawsoncompanyF: 253
    lawsoncompanyF: 268
    lawsoncompanyF: 281
    lawsoncompanyF: 311-312
    lawsoncompanyF: 315
    lawsoncompanyF: 327
    lawsoncompanyF: 339
    lawsoncompanyF: 343-344
    lawsoncompanyF: 347-348
    lawsoncompanyF: 373
    lawsoncompanyF: 379
    lawsoncompanyF: 384
    lawsoncompanyF: 386
    lawsoncompanyF: 388-389
    lawsoncompanyF: 901
    lawsoncompanyF: 929
    lawsoncompanyF: 935
    lawsoncompanyF: 953
    lawsoncompanyF: 1568
    lawsoncompanyF: 1697
    lawsoncompanyF: 1708
    lawsoncompanyF: 1730
    lawsoncompanyF: 1732-1733
    lawsoncompanyF: 1735
    lawsoncompanyF: 1999-2000
    lawsoncompanyF: 2016-2017
    lawsoncompanyF: 2034
    lawsoncompanyF: 2043
    lawsoncompanyF: 2060
    lawsoncompanyF: 2179
    lawsoncompanyF: 2339
    lawsoncompanyF: 4000
    lawsoncompanyF: 4031
    lawsoncompanyF: 4040
    lawsoncompanyF: 4050-4052
    lawsoncompanyF: 4060
    lawsoncompanyF: 4062
    lawsoncompanyF: 9900-9999
    lawsoncompanyF: 9930-9939
    lawsoncompanyF: 9941-9942
    lawsoncompanyI: 15
    lawsoncompanyI: 41
    lawsoncompanyI: 54
    lawsoncompanyI: 311
    lawsoncompanyI: 905
    lawsoncompanyI: 1708
    lawsoncompanyI: 1732
    lawsoncompanyI: 1995-2000
    j'ai fait le trie en fct des N°de compagnie avec la commande "sort":
    je constate des doublons (vert)
    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
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    lawsoncompanyF: 2
    lawsoncompanyF: 4-9
    lawsoncompanyF: 12
    lawsoncompanyF: 14-18
    lawsoncompanyI: 15
    lawsoncompanyF: 20-21
    lawsoncompanyF: 23-24
    lawsoncompanyF: 26
    lawsoncompanyF: 29
    lawsoncompanyF: 32-38
    lawsoncompanyF: 41
    lawsoncompanyI: 41
    lawsoncompanyF: 43-47
    lawsoncompanyF: 49-50
    lawsoncompanyF: 52
    lawsoncompanyF: 54
    lawsoncompanyI: 54
    lawsoncompanyF: 58
    lawsoncompanyF: 60
    lawsoncompanyF: 62-64
    lawsoncompanyF: 67
    lawsoncompanyF: 74-78
    lawsoncompanyF: 81
    lawsoncompanyF: 83
    lawsoncompanyF: 89
    lawsoncompanyF: 92
    lawsoncompanyF: 110
    lawsoncompanyF: 112-114
    lawsoncompanyF: 147
    lawsoncompanyF: 150-151
    lawsoncompanyF: 153-154
    lawsoncompanyF: 156
    lawsoncompanyF: 168-169
    lawsoncompanyF: 174-175
    lawsoncompanyF: 179
    lawsoncompanyF: 181
    lawsoncompanyF: 184
    lawsoncompanyF: 186
    lawsoncompanyF: 188
    lawsoncompanyF: 190
    lawsoncompanyF: 205-206
    lawsoncompanyF: 211
    lawsoncompanyF: 218
    lawsoncompanyF: 253
    lawsoncompanyF: 268
    lawsoncompanyF: 281
    lawsoncompanyF: 311-312
    lawsoncompanyI: 311
    lawsoncompanyF: 315
    lawsoncompanyF: 327
    lawsoncompanyF: 339
    lawsoncompanyF: 343-344
    lawsoncompanyF: 347-348
    lawsoncompanyF: 373
    lawsoncompanyF: 379
    lawsoncompanyF: 384
    lawsoncompanyF: 386
    lawsoncompanyF: 388-389
    lawsoncompanyF: 901
    lawsoncompanyI: 905
    lawsoncompanyF: 929
    lawsoncompanyF: 935
    lawsoncompanyF: 953
    lawsoncompanyF: 1568
    lawsoncompanyF: 1697
    lawsoncompanyF: 1708
    lawsoncompanyI: 1708
    lawsoncompanyF: 1730
    lawsoncompanyF: 1732-1733
    lawsoncompanyI: 1732
    lawsoncompanyF: 1735
    lawsoncompanyI: 1995-2000
    lawsoncompanyF: 1999-2000
    lawsoncompanyF: 2016-2017
    lawsoncompanyF: 2034
    lawsoncompanyF: 2043
    lawsoncompanyF: 2060
    lawsoncompanyF: 2179
    lawsoncompanyF: 2339
    lawsoncompanyF: 4000
    lawsoncompanyF: 4031
    lawsoncompanyF: 4040
    lawsoncompanyF: 4050-4052
    lawsoncompanyF: 4060
    lawsoncompanyF: 4062
    lawsoncompanyF: 9900-9999
    lawsoncompanyF: 9930-9939
    lawsoncompanyF: 9941-9942

  14. #34
    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
    Citation Envoyé par karamurat
    hmm... apres avoir fait un sort en dehors du script j'ai remarque des doublons

    j'ai fait le trie en fct des N°de compagnie avec la commande "sort":
    je constate des doublons 9941-9942
    Effectivement, présence d'un petit bug

    sort -t":" -k2,2n -u -o cieI cieI
    sort -t":" -k2,2n -u -o cieF cieF


    Procédure corrigée :
    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
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
     
     
    grep "^lawsoncompanyI" test00 > cieI 
    grep "^lawsoncompanyF" test00 > cieF 
     
    sort -t":" -k2,2 -u -o cieI cieI
    sort -t":" -k2,2 -u -o cieF cieF
     
    echo "* cie F : "
    cat cieF
    echo -e "\n* cie I : "
    cat cieI
     
    join -t":" -1 2 -2 2 -a 1 -a 2 cieF cieI > test01
    echo -e "\n* test01 (apres join) : "
    cat test01
     
    sed  -e 's/lawsoncompanyF:lawsoncompanyI$/lawsoncompanyF/' \
         -e 's/\(^.*\):\(.*$\)/\2:\1/' test01 > test02
    echo -e "\n* test02 (apres reformatage) : "
    cat test02
     
    sort -k1,1 -k2,2n test02  > test03
     
    awk '
    function FctFinEnreg()
    {
    	if (TopListe == 1) {
    		print "-"Wprecedent
    		TopListe=0
    	} else {
    		print ""
    	}
    }
    BEGIN {
    	Wcie=""
    	Wprecedent=9999999
    	TopListe=0
    }
    {
    	if ($1 == Wcie || NR == 1) 
    	{
    		Wcie=$1
    		Wsuivant=Wprecedent+1
    		if ($2 == Wsuivant) {
    			Wprecedent=$2
    			TopListe=1
    			next
    		}
    		FctFinEnreg()
    		printf("%s %s",$1,$2)
    		Wprecedent=$2
    		next
    	}
    	Wcie=$1
    	FctFinEnreg()
    	printf("%s %s",$1,$2)
    	Wprecedent=$2
    }
    END {
    	FctFinEnreg()
    } ' test03 > test04
     
    sort  -k2,2n -k1,1 test04 > resultat.txt
     
    echo -e "\n* resultat (apres compactage et tri) : "
    cat resultat.txt
    Traitement d'un fichier test00, résultat dans resultat.txt :
    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
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
     
    lawsoncompanyF: 2
    lawsoncompanyF: 4-9
    lawsoncompanyF: 12
    lawsoncompanyF: 14-18
    lawsoncompanyF: 20-21
    lawsoncompanyF: 23-24
    lawsoncompanyF: 26
    lawsoncompanyF: 29
    lawsoncompanyF: 32-38
    lawsoncompanyF: 41
    lawsoncompanyF: 43-47
    lawsoncompanyF: 49-50
    lawsoncompanyF: 52
    lawsoncompanyF: 54
    lawsoncompanyF: 58
    lawsoncompanyF: 60
    lawsoncompanyF: 62-64
    lawsoncompanyF: 67
    lawsoncompanyF: 74-78
    lawsoncompanyF: 81
    lawsoncompanyF: 83
    lawsoncompanyF: 89
    lawsoncompanyF: 92
    lawsoncompanyF: 110
    lawsoncompanyF: 112-114
    lawsoncompanyF: 147
    lawsoncompanyF: 150-151
    lawsoncompanyF: 153-154
    lawsoncompanyF: 156
    lawsoncompanyF: 168-169
    lawsoncompanyF: 174-175
    lawsoncompanyF: 179
    lawsoncompanyF: 181
    lawsoncompanyF: 184
    lawsoncompanyF: 186
    lawsoncompanyF: 188
    lawsoncompanyF: 190
    lawsoncompanyF: 205-206
    lawsoncompanyF: 211
    lawsoncompanyF: 218
    lawsoncompanyF: 253
    lawsoncompanyF: 268
    lawsoncompanyF: 281
    lawsoncompanyF: 311-312
    lawsoncompanyF: 315
    lawsoncompanyF: 327
    lawsoncompanyF: 339
    lawsoncompanyF: 343-344
    lawsoncompanyF: 347-348
    lawsoncompanyF: 373
    lawsoncompanyF: 379
    lawsoncompanyF: 384
    lawsoncompanyF: 386
    lawsoncompanyF: 388-389
    lawsoncompanyF: 901
    lawsoncompanyI: 905
    lawsoncompanyF: 929
    lawsoncompanyF: 935
    lawsoncompanyF: 953
    lawsoncompanyF: 1568
    lawsoncompanyF: 1697
    lawsoncompanyF: 1708
    lawsoncompanyF: 1730
    lawsoncompanyF: 1732-1733
    lawsoncompanyF: 1735
    lawsoncompanyI: 1995-1998
    lawsoncompanyF: 1999-2000
    lawsoncompanyF: 2016-2017
    lawsoncompanyF: 2034
    lawsoncompanyF: 2043
    lawsoncompanyF: 2060
    lawsoncompanyF: 2179
    lawsoncompanyF: 2339
    lawsoncompanyF: 4000
    lawsoncompanyF: 4031
    lawsoncompanyF: 4040
    lawsoncompanyF: 4050-4052
    lawsoncompanyF: 4060
    lawsoncompanyF: 4062
    lawsoncompanyF: 9900-9999
    lawsoncompanyF: 9930-9939
    lawsoncompanyF: 9941-9942

  15. #35
    Membre averti
    Inscrit en
    Juillet 2007
    Messages
    26
    Détails du profil
    Informations forums :
    Inscription : Juillet 2007
    Messages : 26
    Par défaut
    Vraiment Nickel !

+ Répondre à la discussion
Cette discussion est résolue.
Page 2 sur 2 PremièrePremière 12

Discussions similaires

  1. Réponses: 4
    Dernier message: 14/03/2010, 22h36
  2. crée un script pour skype
    Par kandy dans le forum KDE
    Réponses: 0
    Dernier message: 19/05/2009, 11h59
  3. [langage] cherche script pour formater une chaine
    Par MASSAKA dans le forum Langage
    Réponses: 7
    Dernier message: 12/11/2003, 12h18
  4. [pgaccess] Script pour formulaire
    Par garou51 dans le forum PostgreSQL
    Réponses: 2
    Dernier message: 13/06/2003, 08h30
  5. Script pour envoyer des info a mysql
    Par rhum1 dans le forum Linux
    Réponses: 6
    Dernier message: 15/04/2003, 16h19

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