#1 Le 18/12/2012, à 20:37
- themadfrench
[Resolu] Commande awk + uniq, pipe non fonctionnel ?
Hello tout le monde,
Voilà j'ai dans un fichier nommé "liste_process" des lignes de textes qui ressemblent à ceci :
Je suis le processus 5210 : 1
Je suis le processus 5212 : 1
Je suis le processus 5213 : 1
Je suis le processus 5210 : 2
Je suis le processus 5212 : 2
Je suis le processus 5213 : 2
etc
Je veux tout bêtement compter le nombre de processus recensés (3 dans l'exemple)
Voici la suite de commande que j'ai fait dans le shell :
cat liste_process | awk '{print $5}' | uniq | wc -l
Et ça m'affiche 6 (pour l'exemple) au lieu de 3 ! (en effet la cmd uniq ne fait rien alors qu'il devrait supprimer les lignes identiques...) Je ne comprends pas mon erreur...
Si vous savez d'où ça vient merci de m'aider
Dernière modification par themadfrench (Le 18/12/2012, à 21:47)
Hors ligne
#2 Le 18/12/2012, à 21:03
- pingouinux
Re : [Resolu] Commande awk + uniq, pipe non fonctionnel ?
Bonsoir,
C'est parce que les lignes identiques ne sont pas adjacentes. Essaye ceci :
awk '{print $5}' liste_process | sort -u | wc -l
Hors ligne
#3 Le 18/12/2012, à 21:28
- themadfrench
Re : [Resolu] Commande awk + uniq, pipe non fonctionnel ?
Bonsoir,
C'est parce que les lignes identiques ne sont pas adjacentes. Essaye ceci :awk '{print $5}' liste_process | sort -u | wc -l
Ha ok merci, je ne savais pas qu'ils fallait qu'elles soient adjacentes ^^
Et ta commande marche nickel merci beaucoup
Hors ligne
#4 Le 18/12/2012, à 22:33
- pingouinux
Re : [Resolu] Commande awk + uniq, pipe non fonctionnel ?
Il y a même plus simple :
sort -u -k 5,5 liste_process | wc -l
Hors ligne
#5 Le 19/12/2012, à 02:32
- nesthib
Re : [Resolu] Commande awk + uniq, pipe non fonctionnel ?
ou encore :
awk '!_[$5]++{p++} END {print p}' liste_process
(pour chaque ligne, si $5 n'est pas connu on incrémente p)
Comme ça pas besoin de trier ton fichier
GUL Bordeaux : Giroll – Services libres : TdCT.org
Hide in your shell, scripts & astuces : applications dans un tunnel – smart wget – trouver des pdf – install. auto de paquets – sauvegarde auto – ♥ awk
⃛ɹǝsn xnuᴉꞁ uʍop-ǝpᴉsdn
Hors ligne