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

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

Re: [shell-script] Filtro de Anexo de E-mail


From: Ronaldo Araujo
Subject: Re: [shell-script] Filtro de Anexo de E-mail
Date: Fri, 18 Jan 2008 09:20:47 -0300 (ART)

Valeu Reinaldo pela ajuda ... Vou começar a correr atrás

Só mais uma pergunta:  

tenho agora o seguinte caso:
filename="=?utf-8?q?Teste=5FArquivo.ppt?="

Uso a mesma lógica do caso "=?iso-8859-1?Q?can=E7ao.txt?="  ?

Obrigado

Reinaldo Carvalho <address@hidden> escreveu:                               > 
Tenho o seguinte comando dentro de um shell
 >
 > cat email | grep -i 'filename="' > /tmp/file
 >
 > #> cat /tmp/file
 > filename="=?iso-8859-1?Q?can=E7ao.txt?="
 > filename="=?iso-8859-1?B?Y2Fu5+NvLnR4dA==?="
 >
 > Preciso saber como converter essas 2 saídas para o nome correto do
 > arquivo que seriam:
 > filename=cançao.txt
 > filename=canção.txt
 >
 > Qualquer dica será bem vinda, pois já não sei mais o que pensar.
 >
 > Obrigado
 >
 > Ronaldo Araujo
 
 Q: significa quoted-printable.. procure a tabela e use o sed.
 =E7 é ç
 filename="=?iso-8859-1?Q?can=E7ao.txt?="
 
 B: significa base64
 filename="=?iso-8859-1?B?Y2Fu5+NvLnR4dA==?="
 echo Y2Fu5+NvLnR4dA== | openssl enc -d -a
 
 se o seu sistema estiver em UTF-8, você precisará
 echo Y2Fu5+NvLnR4dA== | openssl enc -d -a | iconv -f iso-8859-1 -t utf-8
 
 #cat anexo
 filename="=?iso-8859-1?Q?can=E7ao.txt?="
 filename="=?iso-8859-1?B?Y2Fu5+NvLnR4dA==?="
 
 #!/bin/bash
 while read line ; do
   test $(cut -d '?' -f 3 <<< $line) == "Q" && {
     echo "filename=\"$(sed -e 's/=E7/ç/g' < <(cut -d '?' -f 4 <<< $line) )\""
     continue
   }
   test $(cut -d '?' -f 3 <<< $line) == "B" && {
     echo "filename=\"$(openssl enc -d -a < <(cut -d '?' -f 4 <<<
 $line) | iconv -f iso-8859-1 -t utf-8 )\""
   }
 
 done < anexo
 
 filename="cançao.txt"
 filename="canção.txt"
 
 você precisa ver a tabela quoted-printable para trocar todos os demais
 caracteres...
 
 -- 
 Reinaldo Carvalho
 
     
                               

       
---------------------------------
Abra sua conta no Yahoo! Mail, o único sem limite de espaço para armazenamento! 

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



reply via email to

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