[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]
- awk error - "has too many fields", rikekuda, 2005/10/26
- RE: [shell-script] awk error - "has too many fields", MrBiTs, 2005/10/26
- Re: awk error - "has too many fields", rikekuda, 2005/10/27
- Re: [shell-script] inserir linha em branco em arquivo, Reinaldo Carvalho, 2005/10/27
- Re: [shell-script] inserir linha em branco em arquivo, Reinaldo Carvalho, 2005/10/27
- Re: [shell-script] inserir linha em branco em arquivo, Marcos Braga, 2005/10/27
- Re: [shell-script] inserir linha em branco em arquivo, Reinaldo Carvalho, 2005/10/27