Cam a écrit 6 commentaires

  • # Work in progress

    Posté par  . En réponse au message Remplacer des cellules. Évalué à 1.

    Donc pour résumer :

    • j'ai awk sous linux pour créer mon csv (merci totof)
    • je cherche encore pour Windob (je teste en début de semaine pour créer un .bat)
    • j'ai utilisé le publipostage pour créer mes 1600 étiquettes : l'avantage c'est de pouvoir utiliser la même procédure pour les 2 OS avec LibreOffice…ça n'est pas du script mais c'est efficace.
  • [^] # Re: et après...portabilité et création de cartes

    Posté par  . En réponse au message Remplacer des cellules. Évalué à 1.

    Ok, je vois que je vais encore en apprendre pas mal.
    Je me lance.

    Merci je vous tiens au courant.

  • # et après...portabilité et création de cartes

    Posté par  . En réponse au message Remplacer des cellules. Évalué à 1.

    Merci à guppy et à totof pour le temps passé.
    Ce que j'utilise est la solution de totof qui est simple précise et qui suffit à faire ce que je veux.
    Merci guppy je comprend mieux le shell grâce aux commandes proposées.

    Pour le débat c'est intéressant mais je n'ai pas le temps de lire, je trouve ça un peu stérile. J'ai eu une solution tout à fait correct qui fait parfaitement ce que je veux POINT Mon objectif est de faire des scripts simples à l'utilisation et à la modification pour les personnes qui me remplaceront.

    Si arnaudus a la solution en mieux (portable sur windows par exemple je suis preneur), je planche dessus.
    Je planche aussi sur la manière de créer des fichiers "imprimables"- type carte d'identité - à partir de mon nouveau .csv avec des solutions natives des 2 OS (ou au max avec un petit logiciel open source).

    Mise en page :

    NOM : Z PRENOM : Bob CLASSE : c999
    IDENTIFIANT : bob.z MOT DE PASSE : 000000

    Avec plusieurs profils par A4 tant qu'à faire.

    Un petit peu d'aide serait encore la bienvenue.

  • [^] # Re: .

    Posté par  . En réponse au message Remplacer des cellules. Évalué à 2.

    Ce grep convient mieux à ce que je veux faire malheureusement il y a encore des ajustements : j'ai des doublons (triplons, quadru-,etc.) incompréhensibles dans mon fichier original. Je commence à 1600 lignes et je finis avec plus de 7500 lignes.

    Je galère à interpréter la ligne entière de la commande. Il faut que je me plonge dans les man…

    J'explique ce que je veux.
    En fait, normalement, si j'ai une entrée pour bob.z en 2015, j'ai forcément un "(déjà attribué)" en 2016.

    $ cat 2015.csv
    c000,Z,bob,bob.z,000000
    $ cat 2016.csv
    c999,Z,bob,bob.z,(déjà attribué)

    En sortie, je dois avoir
    c999,Z,bob,bob.z,000000

  • [^] # Re: .

    Posté par  . En réponse au message Remplacer des cellules. Évalué à 2.

    EDIT : j'ai parlé trop vite…et en même temps la question n'était pas posé correctement.

    Dans le cas où mon fichier ne serait pas trié ou lorsque j'ai une classe qui a disparu en 2016 par rapport à 2015, cela ne marche pas.
    identifiants2015.csv
    $cat identifiants2015.csv
    CLASSE,NOM,PRENOM,IDENTIFIANT,M.de P.
    c303,X,john,john.x,6821ff
    c601,A,antoine,antoine.a,4f56yg
    c504,B,micheline,micheline.b,654pgh

    identifiants2016.csv
    CLASSE,NOM,PRENOM,LOGIN,MOT DE PASSE
    c601,Z,bob,bob.z,t954fd
    c502,A,antoine,antoine.a,(déjà attribué)
    c404,B,micheline,micheline.b,(déjà attribué)

    $grep -v '(déjà attribué)' class2016.csv | cat - <(join -t',' <(tail -n +2 class2016.csv | sort) <(tail -n +2 Id2015.csv | sort) -j 2 -o 1.1,1.2,1.3,1.4,2.5) >logins_maj2016.csv

    join: /dev/fd/62:2 : n'est pas trié : c504,B,micheline,micheline.b,654pgh

  • [^] # Re: .

    Posté par  . En réponse au message Remplacer des cellules. Évalué à 2.

    Testé et approuvé.
    C'est parfait merci beaucoup guppy !