Vamos pegar a primeira linha:
124.115.5.11 - - [30/May/2011:23:21:37 -0500] "GET / HTTP/1.0" 200 206492 "-" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322;TencentTraveler)"
e a parte crucial do fragmento awk :
awk '{ split($4,array,"/") ...
Aqui está o que está acontecendo:
-
awkexecuta e divide a linha nos espaços (separador de campo padrão) -
O campo
4th na linha também está sendo dividido em/character - o resultado da divisão é colocado no
array - mais tarde, toda a linha é impressa no arquivo denominado como um segundo subcampo (
array[2]) do quarto campo
então $4 campo continha inicialmente [30/May/2011:23:21:37 e depois da divisão nós temos
array[1]=[30
array[2]=May
array[3]=2011:23:21:37
Não há array[4] , porque o campo 4 th não contém 4 th "subcampo" e não há array[0] porque em awk os índices de array começam em 1.