Anderson, Com o while read você consegue obter todas as informações que precisa, mas por causa da disposição das colunas, você receberá um pequeno "extra" nas linhas que começam com reboot. Veja abaixo:
$ while read col1 lixo lixo lixo lixo col6 lixo col8 col9 > do > echo $col1 $col6 $col8 $col9 > done < arquivo bdacp 12:16 down (00:31) bdacp 12:53 down (00:13) bdacp 13:09 down (02:34) reboot Nov 12:15 (00:32) reboot Nov 12:48 (00:18) reboot Nov 13:07 (02:35) teste 12:53 12:53 (00:00) teste 12:51 12:55 (00:04) teste 13:09 13:31 (00:22) usuario 12:49 12:50 (00:00) usuario 12:49 13:04 (00:14) usuario 13:09 13:23 (00:14) Estou considerando que você realmente não precisa daquele hífen do arquivo original, mas se precisar, é só adicionar a coluna correspondente após o while read. Para resolver a questão do "extra", que nesse caso é a string "Nov", você poderia colocar um sed depois do redirecionamento de arquivo e removê-lo ( | sed "s/Nov//g"), mas a desvantagem disso é que a solução não é genérica, ou seja, se você tiver um "Dez", "Jan", ou outra coisa que não seja "Nov", não funciona a não ser que todo mundo esteja especificado. Uma maneira de resolver isso definitivamente é colocar as linhas que começam com reboot em outro arquivo, remover a segunda coluna (pode ser com o while read) e depois juntar tudo no arquivo final. Claro que também é possível fazer o mesmo com um sed mais elaborado ou algumas artimanhas do awk, mas acredito que não vale a pena um esforço tão grande. Se aparecer uma idéia mais concisa, apresento ao grupo depois. Abraços, Moacir Filho 2008/11/27 jimmy <[EMAIL PROTECTED]>: > On Thu, Nov 27, 2008 at 04:38:59PM +0000, Anderson Souza wrote: >> Olá pessoal... tenho o seguinte arquivo: >> >> cat file.txt >> >> bdacp tty1 Thu Nov 13 12:16 - down (00:31) >> bdacp tty3 Thu Nov 13 12:53 - down (00:13) >> bdacp tty3 Thu Nov 13 13:09 - down (02:34) >> reboot system boot 2.4.31 Thu Nov 13 12:15 (00:32) >> reboot system boot 2.4.31 Thu Nov 13 12:48 (00:18) >> reboot system boot 2.4.31 Thu Nov 13 13:07 (02:35) >> teste pts/0 Thu Nov 13 12:53 - 12:53 (00:00) >> teste tty2 Thu Nov 13 12:51 - 12:55 (00:04) >> teste tty2 Thu Nov 13 13:09 - 13:31 (00:22) >> usuario pts/0 Thu Nov 13 12:49 - 12:50 (00:00) >> usuario tty1 Thu Nov 13 12:49 - 13:04 (00:14) >> usuario tty1 Thu Nov 13 13:09 - 13:23 (00:14) >> >> >> e preciso dessas informações >> >> bdacp 12:16 - down (00:31) >> bdacp 12:53 - down (00:13) >> bdacp 13:09 - down (02:34) >> reboot 12:15 (00:32) >> reboot 12:48 (00:18) >> reboot 13:07 (02:35) >> teste 12:53 - 12:53 (00:00) >> teste 12:51 - 12:55 (00:04) >> teste 13:09 - 13:31 (00:22) >> usuario 12:49 - 12:50 (00:00) >> usuario 12:49 - 13:04 (00:14) >> usuario 13:09 - 13:23 (00:14) >> >> estou tentando com o sed mas não to consegindo... alguem pode medar uma >> idéia? >> Obrigado!! >> -- >> Anderson Souza >> Email: [EMAIL PROTECTED] >> Skype: anderson1904 >> Msn: [EMAIL PROTECTED] >> Fone: (12)9732-9877 >> __________________________________________________________ >> "Os que desprezam pequenos acontecimentos, dificilmente farão grandes >> descobertas." >> >> ------------------------------------ > > saudações Anderson, > > nesse exemplo que você mandou, uma substituição simples resolve: > > sed 's/ \+.*Thu Nov 13//' file.txt > > outra coisa: considere o uso do awk em arquivos de "log". > -- =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-= Moacir da Cruz Souza Filho -Analista de Sistemas: Suporte Unix Avançado Serviço Federal de Processamento de Dados -Mestrando em Ciências da Computação Universidade de Brasília -Bacharel em Engenharia da Computação Escola Politécnica de Pernambuco Universidade de Pernambuco -Técnico em Eletrônica Escola Técnica Federal de Pernambuco -Linux user #449600 =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-= Página pessoal: http://moacir.souza.googlepages.com =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=