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