Pb avec la commande Uniq
Résolu
JsuisNul
Messages postés
125
Date d'inscription
Statut
Membre
Dernière intervention
-
JsuisNul -
JsuisNul -
Bonjour,
Me re-voila déjà même si j'aurais préféré pouvoir me débrouiller tous seul...
Pour ceux qui ont suivi ma précédente question, celle-ci vient de ce que je souhaite faire après un comm ou j'obtiens le fichier suivant :
mec1;pepito;rue;CDD
mec1;pepito;rue;CDI
mec3;jean;rue;CDD
mec5;pierre;rue;CDI
j'aimerai donc utilisé la commande uniq pour ne prendre que les lignes uniques par rapport au premier champs.
le résultat attendu est :
mec3;jean;rue;CDD
mec5;pierre;rue;CDI
dans ma première version de mon script j'utilisais la commande comme suit :
uniq -u --check-chars=7 (uniq appliqué sur les 7 premiers caractères)
mais --check-chars= n'est pas reconnu.
j'ai donc essayer avec uniq -u -w=7 mais le paramètre -w n'est pas reconnu non plus...
Connaissez-vous une commande équivalente ?
merci d'avance à tous.
Me re-voila déjà même si j'aurais préféré pouvoir me débrouiller tous seul...
Pour ceux qui ont suivi ma précédente question, celle-ci vient de ce que je souhaite faire après un comm ou j'obtiens le fichier suivant :
mec1;pepito;rue;CDD
mec1;pepito;rue;CDI
mec3;jean;rue;CDD
mec5;pierre;rue;CDI
j'aimerai donc utilisé la commande uniq pour ne prendre que les lignes uniques par rapport au premier champs.
le résultat attendu est :
mec3;jean;rue;CDD
mec5;pierre;rue;CDI
dans ma première version de mon script j'utilisais la commande comme suit :
uniq -u --check-chars=7 (uniq appliqué sur les 7 premiers caractères)
mais --check-chars= n'est pas reconnu.
j'ai donc essayer avec uniq -u -w=7 mais le paramètre -w n'est pas reconnu non plus...
Connaissez-vous une commande équivalente ?
merci d'avance à tous.
A voir également:
- Pb avec la commande Uniq
- Invite de commande - Guide
- Commande terminal mac - Guide
- Commande dism - Guide
- Diskpart commande - Guide
- Commande scannow - Guide
3 réponses
Salut,
j'ai donc essayer avec uniq -u -w=7 mais le paramètre -w n'est pas reconnu non plus..
T'es sûr ?
j'ai donc essayer avec uniq -u -w=7 mais le paramètre -w n'est pas reconnu non plus..
T'es sûr ?
$ sort f1 f2 | uniq -u mec1;pepito;rue;CDD mec1;pepito;rue;CDI mec3;jean;rue;CDD mec5;pierre;rue;CDI $ sort f1 f2 | uniq -u -w 7 mec3;jean;rue;CDD mec5;pierre;rue;CDI $
hello
avec awk
avec awk
$ awk -F ";" '{a[$1]++; b[$1]=$0} END{for(n in a)if(a[n]<2)print b[n]}' fichier mec3;jean;rue;CDD mec5;pierre;rue;CDI $
Ben c'est bien dommage que cette option ne soit pas portée sur AIX et apparemment sur les BSD aussi ;-(
Tout comme il est fort regrettable que la commande "uniq" n'ait pas la possibilité de définir un séparateur par défaut, comme la plupart des autres commandes similaires, ce qui serait bien utile et notamment ici. ;-(
Tout comme il est fort regrettable que la commande "uniq" n'ait pas la possibilité de définir un séparateur par défaut, comme la plupart des autres commandes similaires, ce qui serait bien utile et notamment ici. ;-(
uniq: illegal option -- w
uniq: illegal option -- w
Usage: uniq [-c | -d | -u] [-f Fields] [-s Chars] [-Fields] [+Chars] [Input_file [Output_file]]
et quand je vois la liste des options proposées y a pas ce foutu -w...
pour le shell :