Aller au contenu | Aller au menu | Aller à la recherche

Extraire une partie de log APACHE

Petite problématique aujourd'hui portant sur: comment extraire une partie des logs APACHE contenus dans un gros fichier et entre deux dates données.




Première étape extraire le numéro de ligne auquel correspond la date de début.

awk '{if ($4 ~ /\[12\/Jan\/2010/){print NR}}' < /var/log/apache2/apache-access_log | tail -1

Deuxième étape extraire le numéro de ligne auquel correspond la date de fin.

awk '{if ($4 ~ /\[09\/Fev\/2010/){print NR}}' < /var/log/apache2/apache-access_log | tail -1

Où $4 est la colonne correspondant à la date pour AWK (dans le fichier de log écrit par Apache).
/\[09\/Fev\/2010/ est l'expression régulière de recherche.

Enfin extraire les logs entre ces deux lignes.

awk '{if (NR >= 13789149 && NR <= 13791298){print $0}}' < /var/log/apache2/apache-access_log > toulouse.log

Voici la source.

Ajouter un commentaire

Les commentaires peuvent être formatés en utilisant une syntaxe wiki simplifiée.

Fil des commentaires de ce billet