Aide Débutant Unix - Supprimer une ligne..
Résolu/Fermé
A voir également:
- Aide Débutant Unix - Supprimer une ligne..
- Supprimer une page word - Guide
- Supprimer compte instagram - Guide
- Aller à la ligne excel - Guide
- Partager photos en ligne - Guide
- Site de vente en ligne particulier - Guide
8 réponses
dubcek
Messages postés
18755
Date d'inscription
lundi 15 janvier 2007
Statut
Contributeur
Dernière intervention
14 novembre 2024
5 621
4 janv. 2010 à 15:22
4 janv. 2010 à 15:22
hello
si le matricule ($1) du fichier jour est présent en traitant le matricule dans le fichier ref, on ne l'imprime pas
si le matricule ($1) du fichier jour est présent en traitant le matricule dans le fichier ref, on ne l'imprime pas
$ $ cat ref Matricule;Civilité;Nom;Prénom;DateEmbauche;DateDepart;Statut;Affectation;Activite;Observation;Direction;Departement VEDX314;Mademoiselle;KWWWWW;Anne-Christine;07/12/2009;;CDD;Siège;ASSISTANT(E) DE DIRECTION;30 BOULEVARD GALLIENI 92130 ISSY LES MOULINEAUX;17;17 VJYL326;Monsieur;BXXXXX;Xavier;02/02/2009;;Titulaire;Siège;CHEF DE MISSION;62 RUE CAMILLE DESMOULINS 92130 ISSY LES MOULINEAUX;4;48 $ $ cat jour VJYL326;Monsieur;BXXXXX;Xavier;02/02/2009;;Titulaire;Siège;CHEF DE PROJET MOA;62 RUE CAMILLE DESMOULINS 92130 ISSY LES MOULINEAUX;4;48 $ $ cat jour ref | awk -F";" '{if(x[$1]!=$1)print $0;x[$1]=$1}'|sort Matricule;Civilité;Nom;Prénom;DateEmbauche;DateDepart;Statut;Affectation;Activite;Observation;Direction;Departement VEDX314;Mademoiselle;KWWWWW;Anne-Christine;07/12/2009;;CDD;Siège;ASSISTANT(E) DE DIRECTION;30 BOULEVARD GALLIENI 92130 ISSY LES MOULINEAUX;17;17 VJYL326;Monsieur;BXXXXX;Xavier;02/02/2009;;Titulaire;Siège;CHEF DE PROJET MOA;62 RUE CAMILLE DESMOULINS 92130 ISSY LES MOULINEAUX;4;48 $
Merci pour ta rapide réponse.
donc si j'ai compris, il faudrais que je supprime les lignes dans mon fichier référence qui ont un matricule en commun dans le fcihier du jour.
comment dois-je faire pour récupere juste le matricule du fichier du jour pour faire une recherche dans le fichier référence pour supprimer la ligne correspondante ? (relier mon matricule à la variable $1)
comme ça ensuite j'applique la ligne de commande comme ci-dessus :
cat jour ref | awk -F";" '{if(x[$1]!=$1)print $0;x[$1]=$1}'|sort
Merci encore !
donc si j'ai compris, il faudrais que je supprime les lignes dans mon fichier référence qui ont un matricule en commun dans le fcihier du jour.
comment dois-je faire pour récupere juste le matricule du fichier du jour pour faire une recherche dans le fichier référence pour supprimer la ligne correspondante ? (relier mon matricule à la variable $1)
comme ça ensuite j'applique la ligne de commande comme ci-dessus :
cat jour ref | awk -F";" '{if(x[$1]!=$1)print $0;x[$1]=$1}'|sort
Merci encore !
dubcek
Messages postés
18755
Date d'inscription
lundi 15 janvier 2007
Statut
Contributeur
Dernière intervention
14 novembre 2024
5 621
4 janv. 2010 à 16:05
4 janv. 2010 à 16:05
c'est le awk qui fait tout cela, ce qui compte c'est l'ordre dans lequel les fichiers sont traités: cat jour ref
if(x[$1]!=$1)print $0 : si x[matricule] != matricule, on l'imprime, si on traite ref, x[matrcule] existe donc on n'imprimne pas
x[$1]=$1 : on stocke ce matricule x[matricule]=matricule
if(x[$1]!=$1)print $0 : si x[matricule] != matricule, on l'imprime, si on traite ref, x[matrcule] existe donc on n'imprimne pas
x[$1]=$1 : on stocke ce matricule x[matricule]=matricule
dubcek
Messages postés
18755
Date d'inscription
lundi 15 janvier 2007
Statut
Contributeur
Dernière intervention
14 novembre 2024
5 621
4 janv. 2010 à 17:03
4 janv. 2010 à 17:03
on peut aussi faire:
on stocke chaque ligne dans x indexé avec matricule, le fichier jour venant, cette fois après ref
on stocke chaque ligne dans x indexé avec matricule, le fichier jour venant, cette fois après ref
$ cat ref jour | awk -F";" '{x[$1]=$0} ; END{for( n in x)print x[n]}' Matricule;Civilité;Nom;Prénom;DateEmbauche;DateDepart;Statut;Affectation;Activite;Observation;Direction;Departement VJYL326;Monsieur;BXXXXX;Xavier;02/02/2009;;Titulaire;Siège;CHEF DE PROJET MOA;62 RUE CAMILLE DESMOULINS 92130 ISSY LES MOULINEAUX;4;48 VEDX314;Mademoiselle;KWWWWW;Anne-Christine;07/12/2009;;CDD;Siège;ASSISTANT(E) DE DIRECTION;30 BOULEVARD GALLIENI 92130 ISSY LES MOULINEAUX;17;17 $
Bon j'ai fait différent test et je n'arrive pas à avoir le résultat attendu.
En faite pour pouvoir arrivée à mon résultat il faudrai que je le tri uniquement sur mon fichier final ou j'ai :
Matricule;Civilité;Nom ;Prénom;DateEmbauche;DateDepart;Statut;Affectation;Activite;Observation;Direction;Departement
VJYD502;Mademoiselle;Nxx xxxx;Sylvie;01/10/2008;;Titulaire;Siège;CONSEILLER SUPPORT UTILISATEUR COMPTABLE;30 BOULEVARD GALLIENI 92130 ISSY LES MOULINEAUX;7;63
VJYL326;Monsieur;Byyyyy;Xavier;02/02/2009;;Titulaire;Siège;CHEF DE MISSION;62 RUE CAMILLE DESMOULINS 92130 ISSY LES MOULINEAUX;4;48VJYL326;Monsieur;Byyyyy;Xavier;02/02/2009;;Titulaire;Siège;CHEF DE PROJET MOA;62 RUE CAMILLE DESMOULINS 92130 ISSY LES MOULINEAUX;4;48
VJYP058;Monsieur;Faaaaa;Matteo;01/03/2008;;Titulaire;Siège;EXPERT ORGANISATION;17 AVENUE DE CHOISY 75643 PARIS CEDEX 13;18;128VJYP058;Monsieur;Faaaaa;Matteo;01/03/2008;;CDD;Siège;EXPERT ORGANISATION;17 AVENUE DE CHOISY 75643 PARIS CEDEX 13;18;128
ce que je souhaite c'est enlever les lignes en gras sur ce même fichier car si je fais comme expliqué plus haut
j'enlève aussi des lignes que je dois prendre.
est-ce que quelqu'un c'est comment faire ?
Merci.
En faite pour pouvoir arrivée à mon résultat il faudrai que je le tri uniquement sur mon fichier final ou j'ai :
Matricule;Civilité;Nom ;Prénom;DateEmbauche;DateDepart;Statut;Affectation;Activite;Observation;Direction;Departement
VJYD502;Mademoiselle;Nxx xxxx;Sylvie;01/10/2008;;Titulaire;Siège;CONSEILLER SUPPORT UTILISATEUR COMPTABLE;30 BOULEVARD GALLIENI 92130 ISSY LES MOULINEAUX;7;63
VJYL326;Monsieur;Byyyyy;Xavier;02/02/2009;;Titulaire;Siège;CHEF DE MISSION;62 RUE CAMILLE DESMOULINS 92130 ISSY LES MOULINEAUX;4;48VJYL326;Monsieur;Byyyyy;Xavier;02/02/2009;;Titulaire;Siège;CHEF DE PROJET MOA;62 RUE CAMILLE DESMOULINS 92130 ISSY LES MOULINEAUX;4;48
VJYP058;Monsieur;Faaaaa;Matteo;01/03/2008;;Titulaire;Siège;EXPERT ORGANISATION;17 AVENUE DE CHOISY 75643 PARIS CEDEX 13;18;128VJYP058;Monsieur;Faaaaa;Matteo;01/03/2008;;CDD;Siège;EXPERT ORGANISATION;17 AVENUE DE CHOISY 75643 PARIS CEDEX 13;18;128
ce que je souhaite c'est enlever les lignes en gras sur ce même fichier car si je fais comme expliqué plus haut
j'enlève aussi des lignes que je dois prendre.
est-ce que quelqu'un c'est comment faire ?
Merci.
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
dubcek
Messages postés
18755
Date d'inscription
lundi 15 janvier 2007
Statut
Contributeur
Dernière intervention
14 novembre 2024
5 621
5 janv. 2010 à 11:08
5 janv. 2010 à 11:08
ca ?
$ cat ref Matricule;Civilité;Nom;Prénom;DateEmbauche;DateDepart;Statut;Affectation;Activite;Observation;Direction;Departement VJYD502;Mademoiselle;Nxx xxxx;Sylvie;01/10/2008;;Titulaire;Siège;CONSEILLER SUPPORT UTILISATEUR COMPTABLE;30 BOULEVARD GALLIENI 92130 ISSY LES MOULINEAUX;7;63 VJYL326;Monsieur;Byyyyy;Xavier;02/02/2009;;Titulaire;Siège;CHEF DE PROJET MOA;62 RUE CAMILLE DESMOULINS 92130 ISSY LES MOULINEAUX;4;48 VJYP058;Monsieur;Faaaaa;Matteo;01/03/2008;;CDD;Siège;EXPERT ORGANISATION;17 AVENUE DE CHOISY 75643 PARIS CEDEX 13;18;128 $ $ cat jour VJYL326;Monsieur;Byyyyy;Xavier;02/02/2009;;Titulaire;Siège;CHEF DE MISSION;62 RUE CAMILLE DESMOULINS 92130 ISSY LES MOULINEAUX;4;48 VJYP058;Monsieur;Faaaaa;Matteo;01/03/2008;;Titulaire;Siège;EXPERT ORGANISATION;17 AVENUE DE CHOISY 75643 PARIS CEDEX 13;18;128 $ $ cat jour ref | awk -F";" '{x[$1]=$0} ; END{for( n in x)print x[n]}' Matricule;Civilité;Nom;Prénom;DateEmbauche;DateDepart;Statut;Affectation;Activite;Observation;Direction;Departement VJYL326;Monsieur;Byyyyy;Xavier;02/02/2009;;Titulaire;Siège;CHEF DE PROJET MOA;62 RUE CAMILLE DESMOULINS 92130 ISSY LES MOULINEAUX;4;48 VJYD502;Mademoiselle;Nxx xxxx;Sylvie;01/10/2008;;Titulaire;Siège;CONSEILLER SUPPORT UTILISATEUR COMPTABLE;30 BOULEVARD GALLIENI 92130 ISSY LES MOULINEAUX;7;63 VJYP058;Monsieur;Faaaaa;Matteo;01/03/2008;;CDD;Siège;EXPERT ORGANISATION;17 AVENUE DE CHOISY 75643 PARIS CEDEX 13;18;128 $
Yes !!!
ça fonctionne presque seul soucis j'ai mon entête de fcihiers qui se retrouve au milieu du fichier et je vois pas pourquoi ??
VJYL469;Mademoiselle;Lc ccc;Gwendoline;01/09/2006;;Titulaire;Siège;CHARGEE DE COMMUNICATION;34 RUE DE LA FEDERATION 75015 PARIS;8;68
VJYL326;Monsieur;Byyyyy;Xavier;02/02/2009;;Titulaire;Siège;CHEF DE PROJET MOA;62 RUE CAMILLE DESMOULINS 92130 ISSY LES MOULINEAUX;4;48
VJYP058;Monsieur;Faaaaa;Matteo;01/03/2008;;Titulaire;Siège;EXPERT ORGANISATION;17 AVENUE DE CHOISY 75643 PARIS CEDEX 13;18;128
VOTH094;Monsieur;AHhhhh;Moëz;01/09/2009;;Titulaire;Siège;CHEF DE PROJET MOA;30 BOULEVARD GALLIENI 92130 ISSY LES MOULINEAUX;22;22
Matricule;Civilité;Nom ;Prénom;DateEmbauche;DateDepart;Statut;Affectation;Activite;Observation;Direction;Departement
VJYP148;Mademoiselle;Lxxxxx;Audrey;14/04/2009;;Titulaire;Siège;ZREPRI;30 BOULEVARD GALLIENI 92130 ISSY LES MOULINEAUX;7;67
VEDX314;Mademoiselle;Kddddd;Anne-Christine;07/12/2009;;CDD;Siège;ASSISTANT(E) DE DIRECTION;30 BOULEVARD GALLIENI 92130 ISSY LES MOULINEAUX;17;17
Merci encore pour ton aide.
ça fonctionne presque seul soucis j'ai mon entête de fcihiers qui se retrouve au milieu du fichier et je vois pas pourquoi ??
VJYL469;Mademoiselle;Lc ccc;Gwendoline;01/09/2006;;Titulaire;Siège;CHARGEE DE COMMUNICATION;34 RUE DE LA FEDERATION 75015 PARIS;8;68
VJYL326;Monsieur;Byyyyy;Xavier;02/02/2009;;Titulaire;Siège;CHEF DE PROJET MOA;62 RUE CAMILLE DESMOULINS 92130 ISSY LES MOULINEAUX;4;48
VJYP058;Monsieur;Faaaaa;Matteo;01/03/2008;;Titulaire;Siège;EXPERT ORGANISATION;17 AVENUE DE CHOISY 75643 PARIS CEDEX 13;18;128
VOTH094;Monsieur;AHhhhh;Moëz;01/09/2009;;Titulaire;Siège;CHEF DE PROJET MOA;30 BOULEVARD GALLIENI 92130 ISSY LES MOULINEAUX;22;22
Matricule;Civilité;Nom ;Prénom;DateEmbauche;DateDepart;Statut;Affectation;Activite;Observation;Direction;Departement
VJYP148;Mademoiselle;Lxxxxx;Audrey;14/04/2009;;Titulaire;Siège;ZREPRI;30 BOULEVARD GALLIENI 92130 ISSY LES MOULINEAUX;7;67
VEDX314;Mademoiselle;Kddddd;Anne-Christine;07/12/2009;;CDD;Siège;ASSISTANT(E) DE DIRECTION;30 BOULEVARD GALLIENI 92130 ISSY LES MOULINEAUX;17;17
Merci encore pour ton aide.
dubcek
Messages postés
18755
Date d'inscription
lundi 15 janvier 2007
Statut
Contributeur
Dernière intervention
14 novembre 2024
5 621
5 janv. 2010 à 12:09
5 janv. 2010 à 12:09
parce que en indexant sur $1 (matricule), l'ordre change, tu peux faire
cat jour ref | awk -F";" '/Matricule/ {print $0;next} ; {x[$1]=$0} ; END{for( n in x)print x[n]}'
soit, si tous les matrcules commencent par V
cat jour ref | awk -F";" '{x[$1]=$0} ; END{for( n in x)print x[n]}' ¦ sort
cat jour ref | awk -F";" '/Matricule/ {print $0;next} ; {x[$1]=$0} ; END{for( n in x)print x[n]}'
soit, si tous les matrcules commencent par V
cat jour ref | awk -F";" '{x[$1]=$0} ; END{for( n in x)print x[n]}' ¦ sort