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: Tiago Barcellos Peczenyj
Subject: Re: [shell-script] inserir linha em branco em arquivo
Date: Thu, 27 Oct 2005 12:13:20 -0200

Veja se isto gera o seu arquivo:

uuencode ${ARQHOME}/${ARQUIVO} ${ARQUIVO} |tac | awk '{if (NR == 3) {print
$0"\n"} else{ print $0}}' | tac

o tac inverte o arquivo. Então eu inverto e, com o awk, eu insiro um espaço
vazio depois do terceiro registro. inverto novamente e o espaço em branco
agora esta antes das 3 ultimas linhas do arquivo.

Eu faço estas 2 inversoes para não precisar pegar o numero de linhas e ter q
calcular... talvez não seja a maneira mais eficiente.

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
>
>
>
>  ---------------------------------------------------------------------
> Esta lista não admite a abordagem de outras liguagens de programação, como
> perl, C etc. Quem insistir em não seguir esta regra será moderado sem prévio
> aviso.
> ---------------------------------------------------------------------
> Sair da lista: address@hidden
> ---------------------------------------------------------------------
> Esta lista é moderada de acordo com o previsto em
> http://www.listas-discussao.cjb.net
> ---------------------------------------------------------------------
>
>
>
>  *Yahoo! Grupos, um serviço oferecido por:*
> ------------------------------
> *Links do Yahoo! Grupos*
>
>    - Para visitar o site do seu grupo na web, acesse:
>    http://br.groups.yahoo.com/group/shell-script/
>    - Para sair deste grupo, envie um e-mail para:
>    address@hidden<address@hidden?subject=Unsubscribe>
>    - O uso que você faz do Yahoo! Grupos está sujeito aos Termos do
>    Serviço do Yahoo! <http://br.yahoo.com/info/utos.html>.
>
>


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



reply via email to

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