J’ai ce fichier
#id|firstName|lastName|gender|birthday|creationDate|locationIP|browserUsed 933|Mahinda|Perera|male|1989-12-03|2010-03-17T13:32:10.447+0000|192.248.2.123|Firefox 1129|Carmen|Lepland|female|1984-02-18|2010-02-28T04:39:58.781+0000|81.25.252.111|Internet Explorer 4194|Hồ Chí|Do|male|1988-10-14|2010-03-17T22:46:17.657+0000|103.10.89.118|Internet Explorer 8333|Chen|Wang|female|1980-02-02|2010-03-15T10:21:43.365+0000|1.4.16.148|Internet Explorer
Et je veux trouver des navigateurs en double avec un compte … Donc j’ai besoin de quelque chose comme ça
Firefox 1 Internet Explorer 3
J’utilise ce code mais le résultat n’est pas ce que je veux
Code:
awk -F '|' '!/^($|[:space:]*#)/{ print $8}' $3 | sort | uniq -c | awk '{print $2 , $1}'
Résultat:
Firefox 1 Internet 3
Que puis-je faire pour que je puisse avoir “Internet Explorer” complet et le décompte exact des mots?
awk
à la rescousse!
$ awk -F'|' 'NR>1{c[$NF]++} END{for(k in c) print k, c[k]}' file
Explication:
NR>1
sauter l’en-tête
c[$NF]++
compte les derniers champs distincts du tableau c
END{..
à la fin, itère les clés du tableau c et imprime la clé et compte