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:
-
awk
executa e divide a linha nos espaços (separador de campo padrão) -
O campo
4
th 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.