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 "[EMAIL PROTECTED]"
}
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 - [EMAIL PROTECTED]