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

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

Re: [shell-script] Pegar a data do arquivo e jogar diretamente no awk co


From: Cristiano Amaral
Subject: Re: [shell-script] Pegar a data do arquivo e jogar diretamente no awk como uma variável
Date: Fri, 5 Dec 2014 07:38:04 -0200

Luiz, esse ficou ótimo também, show!

Em 4 de dezembro de 2014 21:15, Luiz Alberto address@hidden [shell-script] <address@hidden> escreveu:
 

On 04-12-2014 18:26, Cristiano Amaral address@hidden [shell-script] wrote:
 

Saquei a jogada, mas mesmo assim rola mais um chope...

Em 04/12/2014 16:45, "'Julio C. Neves' address@hidden [shell-script]" <address@hidden> escreveu:
 
Se não entender a solução, diga que explico. Mas aí vc passa a dever outro chope ;)

Abcs,
Julio
@juliobash
P
róximos cursos de Shell
Cidade         Local Período
Rio de Janeiro EDX 09 a 13/03/15
São Paulo 4Linux 24 a 28/11/14
Dou treinamento de Shell em qualquer cidade.
Para mais detalhes, me mande um e-mail.

Em 4 de dezembro de 2014 16:10, Cristiano Amaral address@hidden [shell-script] <address@hidden> escreveu:
 
Ahah, perfeito, te devo um chopp na Kibelândia

Em 4 de dezembro de 2014 15:37, 'Julio C. Neves' address@hidden [shell-script] <address@hidden> escreveu:
 
Sem loop explicito.Isso serve?

$ paste -d' ' <(cut -f-3 -d' ' arq | xargs -i date -d {} "+%FT%T") <(cut -f8 -d' ' arq)
2014-11-25T16:17:01 opened
2014-11-26T17:17:01 opened
2014-11-27T18:17:01 opened

Abcs,
Julio
@juliobash
P
róximos cursos de Shell
Cidade         Local Período
Rio de Janeiro EDX 09 a 13/03/15
São Paulo 4Linux 24 a 28/11/14
Dou treinamento de Shell em qualquer cidade.
Para mais detalhes, me mande um e-mail.

Em 4 de dezembro de 2014 12:35, Cristiano Amaral address@hidden [shell-script] <address@hidden> escreveu:

 
Segue mestre Júlio :

Nov 25 16:17:01 corp-bbb-exp open: user 11111111111 opened INBOX/Arquivo Remoto/Orcamento
Nov 26 17:17:01 corp-bbb-exp open: user 22222222222 opened INBOX/Antigas
Nov 27 18:17:01 corp-bbb-exp open: user 33333333333 opened INBOX/Arquivo Remoto/Pessoal


Em 4 de dezembro de 2014 10:45, 'Julio C. Neves' address@hidden [shell-script] <address@hidden> escreveu:
 
Mande uns 3 registros do seu arquivo.

Abcs,
Julio
@juliobash
P
róximos cursos de Shell
Cidade         Local Período
Rio de Janeiro EDX 09 a 13/03/15
São Paulo 4Linux 24 a 28/11/14
Dou treinamento de Shell em qualquer cidade.
Para mais detalhes, me mande um e-mail.

Em 3 de dezembro de 2014 13:51, Cristiano Amaral address@hidden [shell-script] <address@hidden> escreveu:

 
Dai Fredi, resolvi desse jeito macarrônico :

IFS=" "

while read linha ; do
    awk -v dados=$(awk '{ print $1, $2, $3 }' <<< $linha | xargs -i date --date "{}" +%FT%T) '{ print dados, $8 }' <<< $linha
done < dados.txt

Mas deve ter uma maneira mais limpa para fazer isso....

Em 3 de dezembro de 2014 12:41, Fredi Rolf Bieging address@hidden [shell-script] <address@hidden> escreveu:
 
E aí Cristiano, beleza? :)
Cara, eu faria algo assim:

while read linha
do 
data_original=$(cut -d ' ' -f1-3 <<< $linha)
sed "s/$data_original/$(date -d "$data_original" '+%FT%T')/" <<< $linha
done < dados.txt

2014-12-03 11:45 GMT-02:00 Cristiano Amaral address@hidden [shell-script] <address@hidden>:

 
Beleza Peczenyj, mas no caso preciso pegar a data dentro do arquivo , tentei isso :

awk -v dados=$(awk '{ print $1, $2, $3 }' dados.txt | xargs -i date --date "{}" +%FT%T) '{ print dados, $7 }' dados.txt

Resultado :

awk: 2014-11-25T16:17:01
awk:              ^ syntax error

Não consegui passar disso, alguma ideia ?



Em 2 de dezembro de 2014 15:23, Tiago Peczenyj address@hidden [shell-script] <address@hidden> escreveu:
 

vc deve usar aspas duplas e dentro, executar o comando, por exemplo:

ps aux | awk -v a="`date`" '{print ">" a "<", $2}'

ou

ps aux | awk -v a="$( date )" '{print ">" a "<", $2}'

mais legivel



2014-12-02 18:20 GMT+01:00 Cristiano Amaral address@hidden [shell-script] <address@hidden>:

 
Senhores tenho um arquivo com o seguinte conteúdo :

Nov 25 16:17:01 corp-bbb-exp open: user 11111111111 opened INBOX/Arquivo Remoto/Orcamento
Nov 26 17:17:01 corp-bbb-exp open: user 22222222222 opened INBOX/Antigas
Nov 27 18:17:01 corp-bbb-exp open: user 33333333333 opened INBOX/Arquivo Remoto/Pessoal

Estou tentando formatar a data como FT :

awk -v a=`date --date "Nov 25 16:17:01" +%FT%T` '{ print a, $7}' arquivo.txt


A pergunta é como faço para pegar a data do arquivo e jogar diretamente no awk como uma variável ?



--
Tiago B. Peczenyj
Linux User #405772

http://about.me/peczenyj








Pegando carona em parte da solução do mestre Júlio e ficou quase perfeita a solução...
awk '{ print $1,$2,$3 | "xargs -i date -d {} +%FT%T" $8 } '  $data
Abraço




reply via email to

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