Pessoal muito obrigado pela ajuda e segue o script para analise de melhorias ou mesmo como referencia para alguma coisa....
Não trouxe a entrada do arquivo maillog e a saida do meu script mais prometo passar isso amanha no e-mail.... Obrigado mais uma vez a todos #!/bin/sh cat /var/log/maillog|grep ANEXO |sed 's/:/ /g'|sed 's/=/ /g' |sed 's/??/ /g' |while read line do nomes=(`echo $line`) ########################################################## count_from=0 while [ $count_from != ${#nom...@]} ] do if [ ${nomes[$count_from]} == from ] then let "count_from = count_from + 1" from=`echo ${nomes[$count_from]}` fi let "count_from = count_from + 1" done ########################################################### count_to=0 while [ $count_to != ${#nom...@]} ] do if [ ${nomes[$count_to]} == to ] then let "count_to = count_to + 1" to=`echo ${nomes[$count_to]}` fi let "count_to = count_to + 1" done ########################################################### count_f=0 while [ $count_f != ${#nom...@]} ] do if [ ${nomes[count_f]} == name ] then file=`echo $line |grep -o "name \".*\"" |sed 's/name//'` else if [ ${nomes[count_f]} == filename ] then file=`echo $line |grep -o "filename \".*\"" |sed 's/filename//'` fi fi let "count_f = count_f + 1" done ########################################################### data=`echo $line |awk '{print $1, $2, $3":"$4}'` echo $data FROM: $from TO: $to FILENAME: $file > report done Luciano Rangel E assim? valt...@kraftwerk:~$ grep -o "name=\".*\"" t.txt | sed 's/name=//' "TESTE DE ARQUIVO.txt" "teste.txt" Valtoir 2009/5/18 Luciano Estevam Rangel <lran...@scopus.com.br <mailto:lrangel%40scopus.com.br> > > > > > > Pessoal eu tinha tentado essa alternativa também porem existe outros tipos > de informação com " no arquivo...Falaha minha de não especifuicar o arquivo > de entrada completo...sem falar que o argumento anterior tambem varia de > name e filename > > Exemplo: > > > May 09 13:23 DENY user teste filename="TESTE DE ARQUIVO.txt" > May 09 13:45 ACCEPT user teste cod 1234 filename="teste.txt" > May 09 13:50 ACCEPT "teste.rs" user 1234 cod 1234 name="teste.txt" > > May 09 13:55 DENY user "test.com" cof "345" cod 1222 filename="rede.pps" > > Obrigado ja pela ajuda de todos > > complementando: > > grep -o "user [a-z]* " t.txt | sed 's/user //' > > 2009/5/18 Valtoir Jardim <valtoirjar...@gmail.com > <mailto:valtoirjardim%40gmail.com> <valtoirjardim%40gmail.com><mailto: > valtoirjardim%40gmail.com <valtoirjardim%2540gmail.com>> > > > > Algumas idéias: > > > > valt...@kraftwerk:~$ grep -o "user [a-z]* " t.txt > > user teste > > user teste > > > > > > valt...@kraftwerk:~$ grep -o \".*\" arquivo_x.txt > > "TESTE DE ARQUIVO.txt" > > "teste.txt" > > > > T+ > > > > Valtoir > > > > 2009/5/18 Luciano Estevam Rangel <lran...@scopus.com.br > > <mailto:lrangel%40scopus.com.br> <lrangel%40scopus.com.br><mailto: > lrangel%40scopus.com.br <lrangel%2540scopus.com.br>> > > > > >> > >> > >> Boa tarde, > >> > >> Estou desenvolvendo um script e existe um problema no qual eu nao > consigo > >> achar uma resolução. > >> > >> Temos o arquivo x com o seguinte conteúdo > >> valt...@kraftwerk:~$ grep -o \".*\" t.txt > >> "TESTE DE ARQUIVO.txt" > >> "teste.txt" > >> > >> > >> May 09 13:23 DENY user teste filename="TESTE DE ARQUIVO.txt" > >> > >> May 09 13:45 ACCEPT user teste cod 1234 filename="teste.txt" > >> > >> Meu problema e o seguinte > >> > >> Preciso crier um arquivo cujo o conteudo seja apenas o nome do user e o > >> arquivo, porem eles então em posição diferentes em cada linha, e o outro > >> problema e que o arquivo contem espaço então quando faço um awk ele so > me > >> retorna no exemplo do nome do arquivo "TESTE e não o nome completo, > exemplo > >> "TESTE DE ARQUIVO.txt" já quebrei a cabeça aqui com while e tudo mais > >> ...Alguem poderia me dar uma luz de como pegar somente estes dois > campos? > >> > >> Obrigado > >> > >> Luciano > >> > >> [As partes desta mensagem que não continham texto foram removidas] > >> > >> > >> > > > > > > [As partes desta mensagem que não continham texto foram removidas] > > [As partes desta mensagem que não continham texto foram removidas] > > > [As partes desta mensagem que não continham texto foram removidas] [As partes desta mensagem que não continham texto foram removidas]