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