Knowledge Base

¿Qué es esto?

Linux: Dividir un fichero de log de Apache por meses

15/07/2013 - 14/03/2017 -  Comentarios - Linux Scripting

Solución rápida con awk:

awk 'BEGIN {

    split("Jan Feb Mar Apr May Jun Jul Aug Sep Oct Nov Dec ", months, " ")

    for (a = 1; a <= 12; a++)

        m[months[a]] = a

}

{

    year = array[3]

    month = sprintf("%02d", m[array[2]])

    split($4,array,"[:/]");

    print > FILENAME"-"year"_"month".txt"

}' incendiary.ws-2009

Lo que está en negrita es el nombre de fichero a trocear (lo trunca, así que mejor hacer una copia)

Más información aquí:

http://stackoverflow.com/questions/11687054/split-access-log-file-by-dates-using-command-line-tools