Estou pesquisando como colocar loop for dentro de "print" - consegui obter todas as informações que preciso do arquivo de log, mas se eu usar "for loop" após imprimir, cada nova informação será fornecida em uma nova linha. Eu sei que está chamando print toda vez então... como imprimir tudo em nova linha? Por exemplo isso:
cat /var/log/apache2/domlogs/xxxx/xxxx.com* | awk -F " " '{print $1 " - " $4 " " $5 " "} {for(i=12; i<=NF; i++) print $i}'
Dê-me essa saída:
66.249.65.172 - [29/May/2019:02:48:20 +0200]
"Mozilla/5.0
(compatible;
Googlebot/2.1;
+http://www.google.com/bot.html)"
Mas quando quero passar no final o que encontrei entre 12 col e NF:
cat /var/log/apache2/domlogs/xxxx/xxxx.com* | awk -F " " '{print $1 " - " $4 " " $5 " " for(i=12; i<=NF; i++) " " $i}'
Então eu recebo apenas:
66.249.65.172 - [29/May/2019:02:48:20 +0200]
Estou indo para saída como:
66.249.65.172 - [29/May/2019:02:48:20 +0200] "Mozilla/5.0 (compatible; Googlebot/2.1; +http://www.google.com/bot.html)"