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édentesRévision précédente
Prochaine révision
Révision précédente
Dernière révisionLes deux révisions suivantes
linux:scripts_awk:start [16/03/2010 16:11] – correction p'tit bug daniellinux:scripts_awk:start [09/04/2018 12:18] – [Scripts awk] daniel
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 39: Ligne 40:
 }' }'
 </code> </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>
 +
 ===== Exemples ===== ===== Exemples =====
  
Ligne 51: Ligne 63:
   {if (fout!=0) { print $0 > fout;new=0}}' < tous_les_virtualhosts_confondus.conf   {if (fout!=0) { print $0 > fout;new=0}}' < tous_les_virtualhosts_confondus.conf
 </code> </code>
 +
  
  
Ligne 64: Ligne 77:
   echo "usage: $(basename $0) -n <nb de mesures> -i <intervalle entre deux mesures> -s <duree d'attente avant de retester pour relancer une série> -p <process à surveiller>"   echo "usage: $(basename $0) -n <nb de mesures> -i <intervalle entre deux mesures> -s <duree d'attente avant de retester pour relancer une série> -p <process à surveiller>"
   echo "Tous les arguments sont facultatifs";   echo "Tous les arguments sont facultatifs";
 +  echo "Par défaut on a $NBMES mesures, toutes les ${INTER}s avec un délai de ${SLEEP_DELAY}s entre deux tests sur le process $PROCESS"
   exit;   exit;
 } }
linux/scripts_awk/start.txt · Dernière modification : 17/10/2019 11:11 de daniel