[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
- tabulação para lista de dados,
Reinaldo Carvalho <=