3 liens privés
Compter le nombre d'occurence d'un fichier suite à un grep :
grep "18/Dec/2017:12:" *log | awk -F ':' '{count[$1]++} END {for (file in count) print file, count[file]}'
Sort by number :
grep "18/Dec/2017:12:" otk-expert-access.log | awk -F ' -' '{count[$1]++} END {for (file in count) print file, count[file]}' | sort -g -k 2
Exécuter des lignes de commande générées à partir de fichier
cat domains.txt | awk '{system("echo \"aaa "$1 $2 $3"\"")}'
pour compter le temps moyen d'accès aux fichiers JS par exemple (si le %D du Apache est en position 19...) :
cat access.log.20160621 | grep .js | cut -d' ' -f 19 | awk '{total += $1; count++} END { print total/count}'
Sinon y'a ELK hein :) => http://www.hoab.fr/article42/elk-parsing-des-logs-apache
Analyser log Apache en ligne de commandes :
Top 50 des urls :
awk -F'[ "]+' '{ urls[$7]++ } END { for (i in urls) {printf "%15s - %d\n", i, urls[i] } }' file_log | sort -nk 3 | tail -n 50
Top 50 des ips :
awk -F'[ "]+' '{ ipcount[$1]++ } END { for (i in ipcount) {printf "%15s - %d\n", i, ipcount[i] } }' file_log | sort -nk 3 | tail -n 50
Quelques commandes pratiques (via http://ithake.eu/shaarli/?5OZAaQ)
Une page qui retourne :
<html>
blabla
Version : <version>
blabla
</html>
Récupérer la version....
-
echo $(wget <URL>) | sed -rn "s/.Version : ([^^M]+)^M./\1/p"
KO : la mise sur 1 ligne de toute la page ne marche pas avec le pipe (même avec tr "\n" ",") -
wget -qO- http://hermes-sveltest:18090/emissaire-pub/index.html | sed -rn "s/.Version :(.)/\1/p"
OK
wget -qO- http://hermes-sveltest:18090/emissaire-pub/index.html | awk '/.Version :(.)/{print $1}'
KO : awk ne gère pas les sous-groupes des regex
-
wget -qO- http://hermes-sveltest:18090/emissaire-pub/index.html | perl -n -e'/.Version :(.)/ && print $1'
KO : erreur quelque part dans le script perl -
wget -qO- http://hermes-sveltest:18090/emissaire-pub/index.html | grep Version | cut -d: -f2
OK
Exemple pour lister les paramètres des config Jenkins :
ls "parameterDefinitions" global/config.xml | xargs cat | awk '/<parameterDefinitions>/,/<\/parameterDefinitions>/'