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

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

Re: [shell-script] grep -f ordenado pelo primeiro arquivo.


From: Sérgio Coutinho
Subject: Re: [shell-script] grep -f ordenado pelo primeiro arquivo.
Date: Wed, 20 Jan 2010 18:27:17 -0200

Caros,

O companeiro Ernander foi mais rápido do que eu, mas complementando a idéia
dele, trocaria de lugar algumas coisas.

cat ips.txt |awk -F":" '{print $3":"$2":"$2":"$4":"$5}' | sort -d

Infelizmente tb não tenho onde testar.

[]'s
Sérgio Coutinho


2010/1/20 Ernander (Nander) <address@hidden>

>
>
> Bom cara?
>
> Sem testar eu fiz com cat:
>
> cat ips.txt |awk -F: {'print $3":"$2":"$2":"$4":"$5'}| sort -d
>
> teste aí e veja se rola.
>
> Att
>
> Ernander
>
> 2010/1/20 Jeferson Santos <address@hidden<jefersondossantos%40gmail.com>
> >
>
>
> >
> >
> > Olá,
> >
> > Vi um post do Júlio sobre o grep -f (que nem sabia que existia esse
> > switch) e ele serviria exatamente ao meu proposito:
> >
> > Tenho um arquivo IPs.txt com o seguinte conteudo:
> >
> > --------------------
> > 10.0.0.4
> > 10.0.0.9
> > 10.0.0.22
> > 10.0.0.7
> > 10.0.0.13
> > --------------------
> >
> > e uma tabela.txt parecida com essa onde tenho codigo, nome, ip, banda
> > de download.
> >
> > --------------------
> > 4:phenom:10.0.0.4:10.0.0.1:2000
> > 5:sala:10.0.0.5:10.0.0.1:600
> > 6:mariana:10.0.0.6:10.0.0.1:150
> > 7:jaime:10.0.0.7:10.0.0.1:150
> > 8:renan:10.0.0.8:10.0.0.1:150
> > 9:marcio:10.0.0.9:10.0.0.1:150
> > 10:carlos:10.0.0.10:10.0.0.1:150
> > 11:barbara_mae:10.0.0.11:10.0.0.1:150
> > 12:barbara_filha:10.0.0.12:10.0.0.1:150
> > 13:maxwell:10.0.0.13:10.0.0.1:150
> > 14:cabral:10.0.0.14:10.0.0.1:150
> > 15:paula:10.0.0.15:10.0.0.1:150
> > 16:roberto:10.0.0.16:10.0.0.1:150
> > 17:kerolaine:10.0.0.17:10.0.0.1:150
> > 18:medcor:10.0.0.18:10.0.0.1:150
> > 19:yohan:10.0.0.19:10.0.0.1:150
> > 20:Solange:10.0.0.20:10.0.0.1:150
> > 21:george:10.0.0.21:10.0.0.1:150
> > 22:valeria:10.0.0.22:10.0.0.1:150
> > 23:lindalva:10.0.0.23:10.0.0.1:150
> > --------------------
> >
> > e tenho esta saida:
> >
> > --------------------
> > 4:phenom:10.0.0.4:10.0.0.1:2000
> > 7:jaime:10.0.0.7:10.0.0.1:150
> > 9:marcio:10.0.0.9:10.0.0.1:150
> > 13:maxwell:10.0.0.13:10.0.0.1:150
> > 22:valeria:10.0.0.22:10.0.0.1:150
> > --------------------
> >
> > O problema é q eu gostaria que esta saída fosse na mesma ordem
> > sequencial do ips.txt, pois vou usar com paste em outro arquivo, de o
> > stdout gerou o ips.txt
> > A solução que eu tenho em mãos é esta abaixo, mas o uso de loop pode
> > deixar a coisa lenta quando tiver muitos registros.
> >
> > while read LINHA; do grep $LINHA nomes.txt ; done < ips.txt
> >
> > --------------------
> > 4:phenom:10.0.0.4:10.0.0.1:2000
> > 9:marcio:10.0.0.9:10.0.0.1:150
> > 22:valeria:10.0.0.22:10.0.0.1:150
> > 7:jaime:10.0.0.7:10.0.0.1:150
> > 13:maxwell:10.0.0.13:10.0.0.1:150
> > --------------------
> >
> > Alguem tem uma solução mais pratica? (Isso q é legal em shell...
> > sempre tem alguém com uma solução mais prática :-p )
> >
> > --
> > Abraços,
> > Jeferson dos Santos
> > www.jeferson.info
> > Linux User #471165
> >
> >
>
> --
> ╔═══════════════════╗
> ║ Ernander Lataliza ║
> ╚═══════════════════╝
> --------------------------------------
> SEJA LIVRE! USE LINUX!
> Linux User #394812
> -----BEGIN PGP PUBLIC KEY BLOCK-----
> Version: GnuPG v1.4.6 (GNU/Linux)
>
> mQGiBEnrmpwRBADsGwMo8R2spUxfer19bGyX5mAXRyEhm5vlzkOH9T7Fe4WyAvLM
> rDpSKjv1VgcC3/fSMpPQ8MmQZwwO4H87IIwyN0AX/NqvmEQDNMVZS6omrcN39jpt
> xEC80Hs/TP/yKyB2V6seHV0eZtjlfmokIb7nYazcxTLAhiv9CVg9nL+JCwCg+gNL
> R+1rQcqGooGtjIL95OZr/8kEANpGy/Jb+B7Ajq4gatJ6qoedDyeyFFDRz8aV1OBJ
> TCRh9T8MWjOhwvgcsGQV7R95VHgJNVGnej6yilMoM3NtIcyA2tbXAUerp5QhRAAi
> 2BU50z2JF5wl7YQ5ocSpOxp5Cq4sEBJYa/gTUzbLzztNc+ezCIKV403kEbE2IqSV
> 9rt3A/4vxcKsh9IX1At+vH9Ev850CXlRyxN4H7tRlGL+OdqQ76SR3tMi1qm4NRIp
> p0Y7gJ8k9YdfWCgm56aLlSCCXlr80TXP5WHEH+sz2yDrw6iCj5ABeBMA5tdTae5y
> bpx9QJgu5+1dYAK+FFWM+czPO11FM6nOKC3N+XSvrmM88dQhg7RHRXJuYW5kZXIg
> TWFyY3VzIExhdGFsaXphIFJvc2VuZG8gKE5hbmRlciBMYXRhbGl6YSkgPGVybmFu
> ZGVyQGdtYWlsLmNvbT6IYAQTEQIAIAUCSeuanAIbAwYLCQgHAwIEFQIIAwQWAgMB
> Ah4BAheAAAoJEKahazXSKEoo15oAoPBiOWjUw0I2a6u7MtDPPwNPebG3AKDsoBuT
> tcC4MzB17iNsOq819aV42rkBDQRJ65qdEAQApuFxoXRdeQrFIOJDyxE2EQi3GZby
> 2RP0+6iWiLbMk3XUGVsc477NTeGkEuDQA0SpkA5whL4wHWHCrYaE9rtmYMYW67ml
> z/PUPWGI78cQ/R7M1ADPLGaD7cSxfdWzIHbhkP29x4zHTkSrdl4zT+XOHXwmAULp
> ekzuKdb6whw676MAAwUD/isUOzlyF5sf/Q7RJRmLjOEEn5gpL/pf7ZzWHNxgxsPH
> s1LlicO2yObH1cuVDXQDsc3a6ag61z1gCapa8Q1L/E5akKpU0irRzf99yNVzTp3i
> BD9cua7h7fnfBMp6D4EyLDnUkCxOMD5HdIik1Ie6iHoVdCeDpYFnv72RplPI3dBB
> iEkEGBECAAkFAknrmp0CGwwACgkQpqFrNdIoSiiUYgCgvHpf/Tkub4sWz/Vj91y6
> BgH84hQAn3Z8pVMAUMJmmH/jRqJg49SS8AHc
> =1sQ8
> -----END PGP PUBLIC KEY BLOCK-----
>
> [As partes desta mensagem que não continham texto foram removidas]
>
>  
>



-- 
Obs.:

CAMPANHA ANTI-SPAM

Ao repassar mensagens particulares, retire os dados de quem lhe enviou o
email
e coloque o(s) destinatário(s)s no campo CCO (com cópia oculta), deixando os

demais em branco. Desta forma, não só o seu endereço de email como o de
todos
com quem se comunica serão preservados.


[As partes desta mensagem que não continham texto foram removidas]



reply via email to

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