Outils pour utilisateurs

Outils du site


linux:scripts_awk:start

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentes Révision précédente
Prochaine révision
Révision précédente
linux:scripts_awk:start [16/03/2010 16:14]
daniel info sup
linux:scripts_awk:start [17/10/2019 11:11] (Version actuelle)
daniel [Lister les IP et le nb d'accès d'un log www]
Ligne 1: Ligne 1:
 ====== Scripts awk ====== ====== Scripts awk ======
- +Docs 
-Une doc sur awk : http://people.cs.uu.nl/piet/docs/nawk/nawk_toc.html +  http://people.cs.uu.nl/piet/docs/nawk/nawk_toc.html 
- +  * https://www.tutorialspoint.com/awk/index.htm 
-Quelques règles et bout de scripts (cf http://cli.asyd.net/home/filtres/awk)+  * [FR] http://www.shellunix.com/awk.html
  
 Attention aux locales !!! (merci à Christophe Martin de la liste shell@asyd.net), autant pour le séparateur décimal (la virgule en fr) que les règles de collation min/maj : Attention aux locales !!! (merci à Christophe Martin de la liste shell@asyd.net), autant pour le séparateur décimal (la virgule en fr) que les règles de collation min/maj :
Ligne 30: Ligne 30:
  
 ===== Syntaxe ===== ===== Syntaxe =====
 +
 ==== Boucle for ==== ==== Boucle for ====
 <code awk> <code awk>
Ligne 38: Ligne 39:
   print "\""fich"\";"$6";"$7";"$5   print "\""fich"\";"$6";"$7";"$5
 }' }'
 +</code>
 +
 +==== Lister les IP et le nb d'accès d'un log www ====
 +<code awk>
 +awk '{nb[$1]++} END {for (ip in nb) print ip "\t" nb[ip]}' < access.log
 +</code>
 +
 +Ou si on veut le reverse
 +<code awk>
 +awk '{nb[$1]++} END {for (ip in nb) {system("/usr/bin/host " ip "|cut -d '"' '"' -f 5;print "\t" ip "\t" nb[ip]}}' < access.log
 +</code>
 +
 +==== Compter les hits et afficher les heures qui dépassent un nb de hits ====
 +
 +<code awk>
 +awk -F : '{nb[$2][$3]++} END {for (h in nb) {for (m in nb[h]) if (nb[h][m] > 9999) printf("%s:%s %d\n", h, m, nb[h][m])}}' < access.log > access.highfreq.log
 </code> </code>
 ===== Exemples ===== ===== Exemples =====
linux/scripts_awk/start.1268752481.txt.gz · Dernière modification: 16/03/2010 16:14 de daniel