2012-10-04 1 views
0

Dans ce qui suit, je suis en train de grep tout le modèle de question geoIs.My est comment puis-je énumérer les différentes valeurs de geois de pair avec elle comptelinux rechercher un motif et imprimer son compte

ex:

GeoIs:"Paramount","sumthing else" 
GeoIs:"undefined","sumthing else" 
GeoIs:"undefined","sumthing else" 
GeoIs:"178","sumthing else" 
GeoIs:"178","sumthing else" 
and many more 
... 
... 

Résultat attendu:

GeoIs:"Paramount" 1 
GeoIs:"undefined" 2 
GeoIs:"178" 2 
commande

zcat file.gz | grep -P '"geoIs":".*?.undefined*?"' | sort -u -T.|wc -l

EDIT1:

geois se trouve int il chaîne suivante

012-10-02 09:32:45{"e":{"ec":100001,"st":1349170352455,"bd":"Mozilla%2F5.0%20(Windows%20NT%206.1)%20AppleWebKit%2F537.4%20(KHTMf01f02008592~rt%2366.657~rv%2366.228~as%2317~st%231349170293955~cat%231349170352431~sp%23as~c%2334~pat%231349128562942","smplCookie":"undefined","geoIPAddress":"122.107.154.58","geoCountry":"australia","geoCity":"Vermont","geoRegion":"Victoria","geoPostalCode":"undefined","geoLatitude":"undefined","geoLongitude":"undefined","geoMetro":"0","geoArea":"0","geoIs"}} 

Répondre

3

Pour retourner une table de fréquence, utilisez

sort | uniq -c | sort -n 

Pour les données de l'échantillon que vous avez fourni, j'utiliser

zcat file.gz | cut -f1 -d, | sort | uniq -c | sort -n 

zcat file.gz | grep -o '"searchstring":"[^"]*"'| sort | uniq -c | sort -n 
+0

peut u me montrer la pleine commande – Rajeev

+0

@Rajeev: Voir mise à jour. – choroba

+0

mais désolé son pas toujours le premier field.it est étalé sur..All modifier l'entrée dans la question.S'il vous plaît jeter un oeil – Rajeev

1

une alternative awk:

awk -F, '{a[$1]++;}END{for(x in a)if(x)print x,a[x]}' file 


kent$ echo 'GeoIsp:"Paramount","sumthing else" 
GeoIsp:"undefined","sumthing else" 
GeoIsp:"undefined","sumthing else" 
GeoIsp:"178","sumthing else" 
GeoIsp:"178","sumthing else" 
'|awk -F, '{a[$1]++;}END{for(x in a)if(x)print x,a[x]}' 
GeoIsp:"Paramount" 1 
GeoIsp:"undefined" 2 
GeoIsp:"178" 2 
Questions connexes