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

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

Re: [shell-script] inserir linha em branco em arquivo


From: Marcos Braga
Subject: Re: [shell-script] inserir linha em branco em arquivo
Date: Thu, 27 Oct 2005 14:01:11 -0400
User-agent: Mozilla Thunderbird 1.0.6 (Windows/20050716)

bom reinaldo, seguinte..., lembro que estava estudando sobre uuencode e uudecode para enviar qualquer tipo de arquivo via mail sem ter muito trabalho com isso..., quando estava estudando os scripts para criar um que enviasse anexo via telnet utilizei vários cabeçalhos MIME para que isso fosse possível, mas em vão. utilizei várias formas diferentes de compressão, leitura e postagem de arquivos, incluindo uuencode, mas em vão. aí aconteceu o "estalo", enviei um mail simples com o uuencode da forma que qualquer um enviaria pela net:

uuencode arquivo arquivo | mail -s "arquivo anexo"

estudei o fonte do mesmo e verifiquei que ao final do arquivo (uuencode) havia (na antepenúltima linha) um espaço em branco (que não havia reparado até então). então..., mãos a obra, comecei a iniciar os testes novamente com o uuencode e o tal "espaço em branco", e retirei tudo que havia pesquisado de MIME do mail e o trankeira funcionou que é uma beleza. o pior é que não lembro onde achei algo sobre esse bendito "espaço na antepenúltima linha", mas lembro que ele é necessário para a decodificação (e reconhecimento do anexo como uuencode).

acho que é isso...

marcos braga

Reinaldo Carvalho wrote:

Não entendi a lógica de por uma linha em branco na antipenultima linha
da saida gerada pelo uudecode...

Em 27/10/05, Reinaldo Carvalho<address@hidden> escreveu:
Quando você for usar a variável ANEXOUU use:

echo -e "$ANEXOUU"


Em 27/10/05, Marcos Braga<address@hidden> escreveu:
prezada lista,

   recorro a vocês para ajuda em uma questão, creio que simples, para
os senhores(as).

   baseado em vários scripts da lista, adaptei um script próprio,
adequado as necessidades para envio de mail com anexo via telnet. o
script funciona que é uma maravilha, mas estou com uma dúvida: para
enviar os anexos, utilizo o uuencode (até aí sem problemas), mas eu
preciso dividir o texto gerado pelo uuencode e pegar as 3 últimas linhas
e inserir um espaço entre o texto e as 3 últimas linhas, hoje eu faço
desta maneira:

-----
ARQHOME=/home/teste
ARQUIVO=teste.txt

ANEXOUU=`uuencode ${ARQHOME}/${ARQUIVO} ${ARQUIVO}`
ANEXOFOOT=`echo "${ANEXOUU}" | tail -n3`
ANEXOQL=`echo "${ANEXOUU}" | wc -l`
ANEXOCORTA=`expr $ANEXOQL - 3`
ANEXOHEADER=`echo "${ANEXOUU}" | head -n$ANEXOCORTA`
-----
neste trecho faço a divisão do arquivo e separo as 3 últimas linhas
(ANEXOFOOT) e o texto (ANEXOHEADER), utilizando o wc para contar a
quantidade de linhas (ANEXOQL) e o expr para retornar o arquivo sem as 3
últimas linhas (ANEXOCORTA).

no momento de enviar via telnet, faço assim:

----
echo "${ANEXOHEADER}"
echo ""   # espaço necessário
echo "${ANEXOFOOT}"
-----

achei muito complicado e gostaria de saber se há uma forma mais simples
ou mais didática de dividir o texto proposto.

grato pelas inúmeras colaborações.

marcos braga



reply via email to

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