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

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

tabulação para lista de dados


From: Reinaldo Carvalho
Subject: tabulação para lista de dados
Date: Thu, 14 Dec 2006 08:41:46 -0300

Olá,

fiz uma pequena função para que os dados sejam exibidos corretamente
em uma lista com tamanho de campo variável. O primeiro argumento é
quantos TABs este campo deve ocupar na linha, o restante é considerado
como o conteudo.

tab () {
       local tabs="$1"
       shift
       local lenght="$@"
       lenght=${#lenght}
       # Numero de tabs que a informacao esta contida.
       local ntab=$(( ( $lenght - 1 ) / 8 ))
       # Adicione TAB ate o numero de tabs que ela deveria estar contida.
       local tab
       while test "$ntab" -le "$tabs" ; do
               tab="$tab       "
               let ntab++
       done
       echo "$@$tab"
}

Exemplo de uso:

echo "Login: $(tab 1 ${line%%:*})Nome: $(tab 3 $(echo $line | cut -f5
-d:|cut -f1 -d,)) CPF: ${line##*:}"

neste exemplo o campo login deve estar contido em 2 tabs (ou seja, se
tiver até 7 digitos, será acrescentado 2 tabs, se tiver até 15 digitos
será acrescentando 1 tab) e o campo nome que deve estar contido em 3
tabs)

Com isso a linha fica tabulada corretamente.

Gostaria de contribuições para melhorar o código, de repente estou
refazendo a roda.



--
Reinaldo Carvalho
Debian Sarge 3.1 - Linux User: #238310
Prodepa - address@hidden


reply via email to

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