Pra refletir exatamente o que voce quer esqueci de susbstituir o "." pelo
"X" e dar continuidade ao preencher as linhas em branco com pontos so final.
 Para tal � necessario que o arquivo em questao possua escapes "\n" ou mais
conhecido como ENTER ao final do arquivo, enquanto ele ver que existem linhas
em branco ele preenche com pontos..... . Segue:

 #!/bin/bash
echo "1:.
2:..
3:...
4:....
5:.....
6:......
7:.......
8:........
9:.........
10:..........">pontos
colunas=10
inicio=1
cat antes |grep -n $ |tr . X>depois
fim=$(tail -1 depois |cut -d ":" -f1)

while [ $inicio -le $fim ] ; do
        linhaN=$(cat depois |grep "^$inicio" |cut -d ":" -f2 |wc -c)
        if [ ! -z $linhaN ] ; then
        linhaN=$(expr $linhaN - 1)
        pontoN=$(expr 10 - $linhaN)
        pontinhos_sinistros=$(cat pontos |grep "^$pontoN" |cut -d ":" -f2)
        caracteres_sinistros=$(cat depois |grep "^$inicio" |cut -d ":" -f2)
        echo -e "$caracteres_sinistros$pontinhos_sinistros"
        inicio=$(expr $inicio + 1)
        else
        caracteres_sinistros=".........."
        echo -e "$caracteres_sinistros$pontinhos_sinistros"
        inicio=$(expr $inicio + 1)
        fi
done
rm -rf pontos depois

 

---------------------------------------------------------------------------
Esta lista � patrocinada pela Conectiva S.A. Visite http://www.conectiva.com.br

Arquivo: http://bazar2.conectiva.com.br/mailman/listinfo/linux-br
Regras de utiliza��o da lista: http://linux-br.conectiva.com.br
FAQ: http://www.zago.eti.br/menu.html

Responder a