shell-script-pt
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [shell-script] Problema com AWK


From: Julio C. Neves
Subject: Re: [shell-script] Problema com AWK
Date: Thu, 9 Apr 2015 10:26:18 -0300

Carlos Alberto,
eu te mandei uma solução em sed um pouco mais trabalhosa que a do Aprendiz Linux. Gostaria de te pedir um favor: Meça o tempo usando awk e o sed que te enviei e poste o resultado na lista.

Algumas vezes o sed é mais rápido e em outras é o awk. Estou tentando entender qdo se deve usar um ou o outro.

Abcs,
Julio
@juliobash
P
róximos cursos de Shell
Cidade         Local Período
Rio de Janeiro EDX 04 a 08/05/15
São Paulo 4Linux 15 a 19/06/15
São Paulo 4Linux 03 a 07/08/15
São Paulo 4Linux 07 a 11/12/15

Dou treinamento de Shell em qualquer cidade.
Para mais detalhes, me mande um e-mail.


Em 9 de abril de 2015 09:19, Carlos Alberto Teixeira Magalhães address@hidden [shell-script] <address@hidden> escreveu:
 

Bom dia aprendizLinux.

Eu consegui fazer de outras maneiras, mas eu estava procurando fazer em AWK pra tentar melhorar o desempenho. Atualmente, o script sem AWK demora cerca de 8 minutos para fazer todas as substituições.

Tiago, vou testar sua sugestão.

Obrigado a todos.

Em 9 de abril de 2015 09:12, aprendizLinux address@hidden [shell-script] <address@hidden> escreveu:
 

Veja, talvez isso lhe ajude a encontrar uma solução:

$ echo "1426613408.485  20684 192.168.0.10 TCP_MISS/200 4261 CONNECT platform.twitter.com:443 - DIRECT/199.96.57.6 -" | sed 's/ - / carlos /'
1426613408.485  20684 192.168.0.10 TCP_MISS/200 4261 CONNECT platform.twitter.com:443 carlos DIRECT/199.96.57.6 -

$ echo "1426613408.485  19755 192.168.0.10 TCP_MISS/200 927 CONNECT scontent-gru.xx.fbcdn.net:443 - DIRECT/31.13.85.4 -" | sed 's/ - / carlos /'
1426613408.485  19755 192.168.0.10 TCP_MISS/200 927 CONNECT scontent-gru.xx.fbcdn.net:443 carlos DIRECT/31.13.85.4 -


Em 9 de abril de 2015 08:53, Carlos Alberto Teixeira Magalhães address@hidden [shell-script] <address@hidden> escreveu:
 

Bom dia a todos.

Estou tentando fazer um script em AWK para atualizar os usuarios em um log do Squid, mas estou enfrentando o seguinte problema:

- O arquivo 1.txt (descrito abaixo) possui um exemplo com duas linhas do log do Squid:

1426613408.485  20684 192.168.0.10 TCP_MISS/200 4261 CONNECT platform.twitter.com:443 - DIRECT/199.96.57.6 -
1426613408.485  19755 192.168.0.10 TCP_MISS/200 927 CONNECT scontent-gru.xx.fbcdn.net:443 - DIRECT/31.13.85.4 -

- O script 1.awk (http://pastebin.com/8iaaGbXw) compara o IP (terceiro campo) e substitui o usuario (oitavo campo) no log. Mas a saída na segunda linha fica incorreta.

Resultado esperado:
1426613408.485  20684 192.168.0.10 TCP_MISS/200 4261 CONNECT platform.twitter.com:443 carlos DIRECT/199.96.57.6 -
1426613408.485  19755 192.168.0.10 TCP_MISS/200 927 CONNECT scontentgru.xx.fbcdn.net:443 carlos DIRECT/31.13.85.4 -

Resultado obtido:
1426613408.485  20684 192.168.0.10 TCP_MISS/200 4261 CONNECT platform.twitter.com:443 carlos DIRECT/199.96.57.6 -
1426613408.485  19755 192.168.0.10 TCP_MISS/200 927 CONNECT scontentcarlosgru.xx.fbcdn.net:443 - DIRECT/31.13.85.4 -

Alguém poderia indicar onde o script está errado?

Desde já, obrigado.

--
Carlos Alberto Teixeira Magalhães
Analista de Suporte III
Departamento de Informática - DI
Universidade Estadual do Ceará - UECE

A aplicação pediu: "Requires Windows XP, Vista, 7 or better". Então eu instalei Linux.
A Ciência da Computação nasceu para resolver problemas que não existiriam se não fosse o computador.





--
Carlos Alberto Teixeira Magalhães
Analista de Suporte III
Departamento de Informática - DI
Universidade Estadual do Ceará - UECE

A aplicação pediu: "Requires Windows XP, Vista, 7 or better". Então eu instalei Linux.
A Ciência da Computação nasceu para resolver problemas que não existiriam se não fosse o computador.



reply via email to

[Prev in Thread] Current Thread [Next in Thread]