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.
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
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.
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é)
# Work in progress
Posté par Cam . En réponse au message Remplacer des cellules. Évalué à 1.
Donc pour résumer :
[^] # Re: et après...portabilité et création de cartes
Posté par Cam . 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 Cam . 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 Cam . 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 Cam . 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 Cam . En réponse au message Remplacer des cellules. Évalué à 2.
Testé et approuvé.
C'est parfait merci beaucoup guppy !