gawk
Alfred V. Aho, Peter J. Weinberger et Brian W. Kernighan on fait un sacré boulot vu que depuis 1977 y'a toujours photo, awk c'est ce qu'il y a de plus rapide pour du big data
concrete5.8 / 5.7: trouver les sites selon leur version
cd ~/c5sites ls -alF */concrete ls -alF */concrete | awk '{print $9 " - " $11}' ls -alF */concrete | awk '{print $11 " - " $9}' | sort -n
chercher une attaque sur un serveur apache
grep '26/Jun/2018:10:[12]0' access_log | awk -F“ ” '{print $1}' | sort -n | uniq -c | sort -nr | head -20
nous donne une liste des 10 premières IP ayant fait des log le 26 juin 2018 entre 10h10 et 10h20
awk '{print $1}' access.log.1 |sort|uniq -c | sort -nr | head -n 50
afficher un total de taille issu d'un ls -l avec awk
ls -alF > junk
cat junk | awk ' {i += $7 } END { print i}'
Chercher un user
grep bligg /etc/passwd | awk -F":"
Imprimer les groupes
gawk -F":" '{print $1}' /etc/group
Imprimer les homes des passwd
gawk -F":"
regexp awk
gawk -F";" ' $2 ~/^[Rus]/ {print "Recette (" $2 ") titre " $3}'
recettes/recettes.txt
gawk -F";" ' $2 ~/^[Rus]/ {print "Recette (" $2 ") titre " $3}'
recettes/recettes.txt > test | sort test
gawk -F";" ' $2 ~/^[It]/ {print "Recette (" $2 ") titre " $3}'
recettes/recettes.txt > test | sort test
gawk -F";" ' $2 ~/^[Rus]/ {print "Recette (" $2 ") titre " $3 " - No:" NR}'
recettes/recettes.txt > test | sort test
====== nbre de lignes du fichier ======
gawk 'END{print FNR}' recettes/recettes.txt
gawk 'END{print "Fichier: " FILENAME}' recettes/recettes.txt
gawk 'END{print FNR}' recettes/recettes.txt | gawk 'END{print "Fichier: "
FILENAME}' recettes/recettes.txt
gawk '{print "Fichier: " FILENAME " Nombre d'enregistrements= " FNR}'
recettes/recettes.txt