Soutenez-nous
Publicité
+ Répondre à la discussion
Page 2 sur 2 PremièrePremière 12
Affichage des résultats 21 à 27 sur 27
  1. #21
    Modérateur
    Avatar de jlliagre
    Profil pro
    Inscrit en
    juin 2007
    Messages
    1 487
    Détails du profil
    Informations personnelles :
    Localisation : France, Essonne (Île de France)

    Informations forums :
    Inscription : juin 2007
    Messages : 1 487
    Points : 2 757
    Points
    2 757

    Par défaut

    Code :
    1
    2
    3
    4
    5
    6
    awk -F";" '
    BEGIN {p1="";OFS=";"}
    NR==1 {print;next;}
    NR==2 {ol=$0;next;}
    {nl=$0;n=($2==p1)?0:1;p1=$2;$0=ol;$14=n;print;ol=nl}
    END {$0=ol;$14=1;print}'
    ɹǝsn *sıɹɐlos*

  2. #22
    Membre à l'essai
    Inscrit en
    avril 2011
    Messages
    48
    Détails du profil
    Informations forums :
    Inscription : avril 2011
    Messages : 48
    Points : 21
    Points
    21

    Par défaut

    Citation Envoyé par jlliagre Voir le message
    Code :
    1
    2
    3
    4
    5
    6
    awk -F";" '
    BEGIN {p1="";OFS=";"}
    NR==1 {print;next;}
    NR==2 {ol=$0;next;}
    {nl=$0;n=($2==p1)?0:1;p1=$2;$0=ol;$14=n;print;ol=nl}
    END {$0=ol;$14=1;print}'
    Super merci beaucoup

    Je viens de constater qu'on reconnait une ligne redondante par le champ date aussi (4ème champ). Donc on a le champ 2 et le champ 4. Désolé je n'ai pas été très précis lors de mes premiers posts.

    De même pour les 2 premières lignes le nombre de contrat est identique et j'ai 1 partout dans les champs Nombre de mouvements


    Voici un exemple



    Entrée

    Code :
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    Champ1;Contrat_ID;Champ3;Date;Champ5;Champ6;Champ7;Champ8;Champ9;Champ10;Champ11;Champ12;Champ13;Nombre_Mouvements;Champ15;Champ16;Champ17;champ18
    xxxxxxxxxx;33;xxxxxxxxxx;15/11/2012;xxxxxxxxxx;xxxxxxxxxx;xxxxxxxxxx;xxxxxxxxxx;xxxxxxxxxx;xxxxxxxxxx;xxxxxxxxxx;xxxxxxxxxx;1;;0;0;0;0
    xxxxxxxxxx;33;xxxxxxxxxx;15/11/2012;xxxxxxxxxx;xxxxxxxxxx;xxxxxxxxxx;xxxxxxxxxx;xxxxxxxxxx;xxxxxxxxxx;xxxxxxxxxx;xxxxxxxxxx;1;;0;0;0;0
    xxxxxxxxxx;34;xxxxxxxxxx;07/12/2012;xxxxxxxxxx;xxxxxxxxxx;xxxxxxxxxx;xxxxxxxxxx;xxxxxxxxxx;xxxxxxxxxx;xxxxxxxxxx;xxxxxxxxxx;1;;0;0;0;0
    xxxxxxxxxx;34;xxxxxxxxxx;07/12/2012;xxxxxxxxxx;xxxxxxxxxx;xxxxxxxxxx;xxxxxxxxxx;xxxxxxxxxx;xxxxxxxxxx;xxxxxxxxxx;xxxxxxxxxx;1;;0;0;0;0
    xxxxxxxxxx;34;xxxxxxxxxx;07/12/2012;xxxxxxxxxx;xxxxxxxxxx;xxxxxxxxxx;xxxxxxxxxx;xxxxxxxxxx;xxxxxxxxxx;xxxxxxxxxx;xxxxxxxxxx;1;;0;0;0;0
    xxxxxxxxxx;34;xxxxxxxxxx;09/12/2012;xxxxxxxxxx;xxxxxxxxxx;xxxxxxxxxx;xxxxxxxxxx;xxxxxxxxxx;xxxxxxxxxx;xxxxxxxxxx;xxxxxxxxxx;1;;0;0;0;0
    xxxxxxxxxx;34;xxxxxxxxxx;09/12/2012;xxxxxxxxxx;xxxxxxxxxx;xxxxxxxxxx;xxxxxxxxxx;xxxxxxxxxx;xxxxxxxxxx;xxxxxxxxxx;xxxxxxxxxx;1;;0;0;0;0
    xxxxxxxxxx;36;xxxxxxxxxx;08/12/2012;xxxxxxxxxx;xxxxxxxxxx;xxxxxxxxxx;xxxxxxxxxx;xxxxxxxxxx;xxxxxxxxxx;xxxxxxxxxx;xxxxxxxxxx;1;;0;0;0;0
    xxxxxxxxxx;42;xxxxxxxxxx;15/12/2012;xxxxxxxxxx;xxxxxxxxxx;xxxxxxxxxx;xxxxxxxxxx;xxxxxxxxxx;xxxxxxxxxx;xxxxxxxxxx;xxxxxxxxxx;1;;0;0;0;0
    xxxxxxxxxx;42;xxxxxxxxxx;15/12/2012;xxxxxxxxxx;xxxxxxxxxx;xxxxxxxxxx;xxxxxxxxxx;xxxxxxxxxx;xxxxxxxxxx;xxxxxxxxxx;xxxxxxxxxx;1;;0;0;0;0
    xxxxxxxxxx;42;xxxxxxxxxx;15/12/2012;xxxxxxxxxx;xxxxxxxxxx;xxxxxxxxxx;xxxxxxxxxx;xxxxxxxxxx;xxxxxxxxxx;xxxxxxxxxx;xxxxxxxxxx;1;;0;0;0;0
    xxxxxxxxxx;42;xxxxxxxxxx;15/12/2012;xxxxxxxxxx;xxxxxxxxxx;xxxxxxxxxx;xxxxxxxxxx;xxxxxxxxxx;xxxxxxxxxx;xxxxxxxxxx;xxxxxxxxxx;1;;0;0;0;0
    xxxxxxxxxx;68;xxxxxxxxxx;20/12/2012;xxxxxxxxxx;xxxxxxxxxx;xxxxxxxxxx;xxxxxxxxxx;xxxxxxxxxx;xxxxxxxxxx;xxxxxxxxxx;xxxxxxxxxx;1;;0;0;0;0



    Sortie actuelle
    Code :
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    Champ1;Contrat_ID;Champ3;Date;Champ5;Champ6;Champ7;Champ8;Champ9;Champ10;Champ11;Champ12;Champ13;Nombre_Mouvements;Champ15;Champ16;Champ17;Champ18
    xxxxxxxxxx;33;xxxxxxxxxx;15/11/2012;xxxxxxxxxx;xxxxxxxxxx;xxxxxxxxxx;xxxxxxxxxx;xxxxxxxxxx;xxxxxxxxxx;xxxxxxxxxx;xxxxxxxxxx;1;1;0;0;0;0
    xxxxxxxxxx;33;xxxxxxxxxx;15/11/2012;xxxxxxxxxx;xxxxxxxxxx;xxxxxxxxxx;xxxxxxxxxx;xxxxxxxxxx;xxxxxxxxxx;xxxxxxxxxx;xxxxxxxxxx;1;1;0;0;0;0
    xxxxxxxxxx;34;xxxxxxxxxx;07/12/2012;xxxxxxxxxx;xxxxxxxxxx;xxxxxxxxxx;xxxxxxxxxx;xxxxxxxxxx;xxxxxxxxxx;xxxxxxxxxx;xxxxxxxxxx;1;0;0;0;0;0
    xxxxxxxxxx;34;xxxxxxxxxx;07/12/2012;xxxxxxxxxx;xxxxxxxxxx;xxxxxxxxxx;xxxxxxxxxx;xxxxxxxxxx;xxxxxxxxxx;xxxxxxxxxx;xxxxxxxxxx;1;0;0;0;0;0
    xxxxxxxxxx;34;xxxxxxxxxx;07/12/2012;xxxxxxxxxx;xxxxxxxxxx;xxxxxxxxxx;xxxxxxxxxx;xxxxxxxxxx;xxxxxxxxxx;xxxxxxxxxx;xxxxxxxxxx;1;0;0;0;0;0
    xxxxxxxxxx;34;xxxxxxxxxx;09/12/2012;xxxxxxxxxx;xxxxxxxxxx;xxxxxxxxxx;xxxxxxxxxx;xxxxxxxxxx;xxxxxxxxxx;xxxxxxxxxx;xxxxxxxxxx;1;0;0;0;0;0
    xxxxxxxxxx;34;xxxxxxxxxx;09/12/2012;xxxxxxxxxx;xxxxxxxxxx;xxxxxxxxxx;xxxxxxxxxx;xxxxxxxxxx;xxxxxxxxxx;xxxxxxxxxx;xxxxxxxxxx;1;1;0;0;0;0
    xxxxxxxxxx;36;xxxxxxxxxx;08/12/2012;xxxxxxxxxx;xxxxxxxxxx;xxxxxxxxxx;xxxxxxxxxx;xxxxxxxxxx;xxxxxxxxxx;xxxxxxxxxx;xxxxxxxxxx;1;1;0;0;0;0
    xxxxxxxxxx;42;xxxxxxxxxx;15/12/2012;xxxxxxxxxx;xxxxxxxxxx;xxxxxxxxxx;xxxxxxxxxx;xxxxxxxxxx;xxxxxxxxxx;xxxxxxxxxx;xxxxxxxxxx;1;0;0;0;0;0
    xxxxxxxxxx;42;xxxxxxxxxx;15/12/2012;xxxxxxxxxx;xxxxxxxxxx;xxxxxxxxxx;xxxxxxxxxx;xxxxxxxxxx;xxxxxxxxxx;xxxxxxxxxx;xxxxxxxxxx;1;0;0;0;0;0
    xxxxxxxxxx;42;xxxxxxxxxx;15/12/2012;xxxxxxxxxx;xxxxxxxxxx;xxxxxxxxxx;xxxxxxxxxx;xxxxxxxxxx;xxxxxxxxxx;xxxxxxxxxx;xxxxxxxxxx;1;0;0;0;0;0
    xxxxxxxxxx;42;xxxxxxxxxx;15/12/2012;xxxxxxxxxx;xxxxxxxxxx;xxxxxxxxxx;xxxxxxxxxx;xxxxxxxxxx;xxxxxxxxxx;xxxxxxxxxx;xxxxxxxxxx;1;0;0;0;0;0
    xxxxxxxxxx;68;xxxxxxxxxx;20/12/2012;xxxxxxxxxx;xxxxxxxxxx;xxxxxxxxxx;xxxxxxxxxx;xxxxxxxxxx;xxxxxxxxxx;xxxxxxxxxx;xxxxxxxxxx;1;1;0;0;0;0

    Sortie souhaitée

    Code :
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    Champ1;Contrat_ID;Champ3;Date;Champ5;Champ6;Champ7;Champ8;Champ9;Champ10;Champ11;Champ12;Champ13;Nombre_Mouvements;Champ15;Champ16;Champ17;Champ18
    xxxxxxxxxx;33;xxxxxxxxxx;15/11/2012;xxxxxxxxxx;xxxxxxxxxx;xxxxxxxxxx;xxxxxxxxxx;xxxxxxxxxx;xxxxxxxxxx;xxxxxxxxxx;xxxxxxxxxx;1;0;0;0;0;0
    xxxxxxxxxx;33;xxxxxxxxxx;15/11/2012;xxxxxxxxxx;xxxxxxxxxx;xxxxxxxxxx;xxxxxxxxxx;xxxxxxxxxx;xxxxxxxxxx;xxxxxxxxxx;xxxxxxxxxx;1;1;0;0;0;0
    xxxxxxxxxx;34;xxxxxxxxxx;07/12/2012;xxxxxxxxxx;xxxxxxxxxx;xxxxxxxxxx;xxxxxxxxxx;xxxxxxxxxx;xxxxxxxxxx;xxxxxxxxxx;xxxxxxxxxx;1;0;0;0;0;0
    xxxxxxxxxx;34;xxxxxxxxxx;07/12/2012;xxxxxxxxxx;xxxxxxxxxx;xxxxxxxxxx;xxxxxxxxxx;xxxxxxxxxx;xxxxxxxxxx;xxxxxxxxxx;xxxxxxxxxx;1;0;0;0;0;0
    xxxxxxxxxx;34;xxxxxxxxxx;07/12/2012;xxxxxxxxxx;xxxxxxxxxx;xxxxxxxxxx;xxxxxxxxxx;xxxxxxxxxx;xxxxxxxxxx;xxxxxxxxxx;xxxxxxxxxx;1;1;0;0;0;0
    xxxxxxxxxx;34;xxxxxxxxxx;09/12/2012;xxxxxxxxxx;xxxxxxxxxx;xxxxxxxxxx;xxxxxxxxxx;xxxxxxxxxx;xxxxxxxxxx;xxxxxxxxxx;xxxxxxxxxx;1;0;0;0;0;0
    xxxxxxxxxx;34;xxxxxxxxxx;09/12/2012;xxxxxxxxxx;xxxxxxxxxx;xxxxxxxxxx;xxxxxxxxxx;xxxxxxxxxx;xxxxxxxxxx;xxxxxxxxxx;xxxxxxxxxx;1;1;0;0;0;0
    xxxxxxxxxx;36;xxxxxxxxxx;08/12/2012;xxxxxxxxxx;xxxxxxxxxx;xxxxxxxxxx;xxxxxxxxxx;xxxxxxxxxx;xxxxxxxxxx;xxxxxxxxxx;xxxxxxxxxx;1;1;0;0;0;0
    xxxxxxxxxx;42;xxxxxxxxxx;15/12/2012;xxxxxxxxxx;xxxxxxxxxx;xxxxxxxxxx;xxxxxxxxxx;xxxxxxxxxx;xxxxxxxxxx;xxxxxxxxxx;xxxxxxxxxx;1;0;0;0;0;0
    xxxxxxxxxx;42;xxxxxxxxxx;15/12/2012;xxxxxxxxxx;xxxxxxxxxx;xxxxxxxxxx;xxxxxxxxxx;xxxxxxxxxx;xxxxxxxxxx;xxxxxxxxxx;xxxxxxxxxx;1;0;0;0;0;0
    xxxxxxxxxx;42;xxxxxxxxxx;15/12/2012;xxxxxxxxxx;xxxxxxxxxx;xxxxxxxxxx;xxxxxxxxxx;xxxxxxxxxx;xxxxxxxxxx;xxxxxxxxxx;xxxxxxxxxx;1;0;0;0;0;0
    xxxxxxxxxx;42;xxxxxxxxxx;15/12/2012;xxxxxxxxxx;xxxxxxxxxx;xxxxxxxxxx;xxxxxxxxxx;xxxxxxxxxx;xxxxxxxxxx;xxxxxxxxxx;xxxxxxxxxx;1;0;0;0;0;0
    xxxxxxxxxx;68;xxxxxxxxxx;20/12/2012;xxxxxxxxxx;xxxxxxxxxx;xxxxxxxxxx;xxxxxxxxxx;xxxxxxxxxx;xxxxxxxxxx;xxxxxxxxxx;xxxxxxxxxx;1;1;0;0;0;0

    Je ne saurai comment vous remercier.
    Bonne journée !

  3. #23
    Membre à l'essai
    Inscrit en
    avril 2011
    Messages
    48
    Détails du profil
    Informations forums :
    Inscription : avril 2011
    Messages : 48
    Points : 21
    Points
    21

    Par défaut

    Bonjour,

    J'ai essayé de bidouiller en rajoutant 1 autre variable pour le 4ème champ date mais ca ne semble pas fonctionner:


    Code

    Code :
    1
    2
    3
    4
    5
    6
    cat resulat_final.csv | awk -F";"
    BEGIN {p1="";p2="";OFS=";"}
    NR==1 {print;next;}
    NR==2 {ol=$0;next;}
    {nl=$0;n=($2==p1 && $4==p2)?0:1;p1=$2;$0=ol;$14=n;print;ol=nl}
    END {$0=ol;$14=1;print} > resulat_final_termine.csv
    Erreur

    Code :
    1
    2
    ./1.sh[4]: BEGIN:  not found.
    ./1.sh[5]: Syntax error at line 6 : `}' is not expected.


    Une petite aide serait plus que la bienvenue. Merci beaucoup

  4. #24
    Membre Expert
    Inscrit en
    avril 2008
    Messages
    906
    Détails du profil
    Informations forums :
    Inscription : avril 2008
    Messages : 906
    Points : 2 026
    Points
    2 026

    Par défaut

    Si tu compares le message que tu as envoyé avec l'original, tu verras que les couleurs sont différentes des couleurs d'origine!

    La couleur n'est pas cruciale en soi... mais elle est la preuve que le colorateur syntaxique du site a bien fait son boulot... (contrairement à toi )

    La commande awk prend en argument une chaine de caractères représentant un programme awk et qui doit être entourée de guillemets (simples ou doubles).

    Bref, essaie (sans oublier les apostrophes, ce coup-ci):

    Code :
    1
    2
    3
    4
    5
    6
    cat resulat_final.csv | awk -F";" '
    BEGIN {p1="";p2="";OFS=";"}
    NR==1 {print;next;}
    NR==2 {ol=$0;next;}
    {nl=$0;n=($2==p1 && $4==p2)?0:1;p1=$2;$0=ol;$14=n;print;ol=nl}
    END {$0=ol;$14=1;print}' > resulat_final_termine.csv

  5. #25
    Membre à l'essai
    Inscrit en
    avril 2011
    Messages
    48
    Détails du profil
    Informations forums :
    Inscription : avril 2011
    Messages : 48
    Points : 21
    Points
    21

    Par défaut

    Citation Envoyé par jack-ft Voir le message
    Si tu compares le message que tu as envoyé avec l'original, tu verras que les couleurs sont différentes des couleurs d'origine!

    La couleur n'est pas cruciale en soi... mais elle est la preuve que le colorateur syntaxique du site a bien fait son boulot... (contrairement à toi )

    La commande awk prend en argument une chaine de caractères représentant un programme awk et qui doit être entourée de guillemets (simples ou doubles).

    Bref, essaie (sans oublier les apostrophes, ce coup-ci):

    Code :
    1
    2
    3
    4
    5
    6
    cat resulat_final.csv | awk -F";" '
    BEGIN {p1="";p2="";OFS=";"}
    NR==1 {print;next;}
    NR==2 {ol=$0;next;}
    {nl=$0;n=($2==p1 && $4==p2)?0:1;p1=$2;$0=ol;$14=n;print;ol=nl}
    END {$0=ol;$14=1;print}' > resulat_final_termine.csv

    Merci. Oui j'avais en effet oublié l'apostrophe. Le programme compile sans erreur sans j'ai toujours 1 dans le champ Nombre de mouvements. Alors que je devrais trouver 0 ou 1 en fonction des doublons sur les champs 2 et 4. La dernière redondance prend la valeur 1 et les précédentes 0.

    Etant un novice en shell Je pense que j'ai mal adapté le programme de jlliagre. merci de votre aide.

  6. #26
    Modérateur
    Avatar de jlliagre
    Profil pro
    Inscrit en
    juin 2007
    Messages
    1 487
    Détails du profil
    Informations personnelles :
    Localisation : France, Essonne (Île de France)

    Informations forums :
    Inscription : juin 2007
    Messages : 1 487
    Points : 2 757
    Points
    2 757

    Par défaut

    Citation Envoyé par moctarim Voir le message
    Merci. Oui j'avais en effet oublié l'apostrophe.
    Tu as aussi oublié de mettre à jour p2. Cette variable est dans ton code toujours égale à une chaine vide, donc la condition n'est jamais remplie. Essaie d'ajouter "p2=$4;" après "p1=$2;".
    ɹǝsn *sıɹɐlos*

  7. #27
    Membre à l'essai
    Inscrit en
    avril 2011
    Messages
    48
    Détails du profil
    Informations forums :
    Inscription : avril 2011
    Messages : 48
    Points : 21
    Points
    21

    Par défaut

    Merci je vais donc tester ca demain matin.

    Le code final devrait donc être:

    Code :
    1
    2
    3
    4
    5
    6
    cat resulat_final.csv | awk -F";" '
    BEGIN {p1="";p2="";OFS=";"}
    NR==1 {print;next;}
    NR==2 {ol=$0;next;}
    {nl=$0;n=($2==p1 && $4==p2)?0:1;p1=$2;p2=$4;$0=ol;$14=n;print;ol=nl}
    END {$0=ol;$14=1;print}' > resulat_final_termine.csv

Liens sociaux

Règles de messages

  • Vous ne pouvez pas créer de nouvelles discussions
  • Vous ne pouvez pas envoyer des réponses
  • Vous ne pouvez pas envoyer des pièces jointes
  • Vous ne pouvez pas modifier vos messages
  •