Dividir o arquivo access.log por datas usando ferramentas de linha de comando
Eu tenho um arquivo Apache access.log, que é de cerca de 35 GB de tamanho. Grepping não é mais uma opção, sem esperar muito.
Eu queria dividi-lo em muitos arquivos pequenos, usando data como critérios de divisão.
Data está no formato[15/Oct/2011:12:02:02 +0000]
. Alguma idéia de como eu poderia fazer isso usando apenas bash scripting, programas padrão de manipulação de texto (grep, awk, sed e likes), tubulação e redirecionamento?
O nome do arquivo de entrada éaccess.log
. Gostaria que os arquivos de saída tivessem formatos comoaccess.apache.15_Oct_2011.log
(Isso faria o truque, embora não seja legal ao classificar.)