Extraire une partie de log APACHE
Par Draggi le mardi, mars 2 2010, 16:42 - Linux & BSD - Lien permanent
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
/\[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.