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

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

Re: [shell-script] Relatorio de Quebra


From: Jeiks
Subject: Re: [shell-script] Relatorio de Quebra
Date: Mon, 11 Jul 2011 12:08:53 -0300

Opa,
    acompanhar essas discussões na lista é muito legal e a gente sempre
aprende... :D


    Eu gostaria de estressar mais um pouco a thread...

$ seq -w 27 | xargs -i echo campo{} | paste -d "" - - - > arq.teste
> $ paste <(cut -c -7 arq.teste) <(cut -c 8-14 arq.teste) <(cut -c
> 15- arq.teste) | xargs -L1 printf "%-10s %-10s %-10s\n"
>
> que tal:

while read LINHA;do
     printf "%-10s %-10s %-10s\n" ${LINHA::7} ${LINHA:7:7} ${LINHA:14:7}
done < arq.teste


Bom, seria a leitura de linha por linha, mas evitaria a criação de três
arquivos dinâmicos e da utilização de um subsheel... é melhor ou pior?
Outra possibilidade:

awk '{printf "%-10s %-10s %-10s\n", substr($1,0,7), substr($1,8,7),
substr($1,15,7) }' arq.teste

Já sobre posicionamento na tela, que tal:

POS_LINHA=3
POS_COLUNA=0
while read LINHA;do
      printf "\033[$POS_LINHA;${POS_COLUNA}H %-10s %-10s %-10s\n"
${LINHA::7} ${LINHA:7:7} ${LINHA:14:7}
      let POS_LINHA++
done < arq.teste

ou:

awk '{ linha=FNR+3;
         coluna=5;
         printf "\033[%d;%dH%-10s %-10s %-10s\n", linha, coluna,
substr($1,0,7), substr($1,8,7), substr($1,15,7)
}' arq.teste


abraços

-- 
Jacson R. C. Silva
http://jeiks.net
http://lattes.cnpq.br/0637308986252382


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



reply via email to

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