alinhamento dados na linha [RESOLVIDO]

13. Re: alinhamento dados na linha [RESOLVIDO]

Perfil removido
removido

(usa Nenhuma)

Enviado em 10/08/2011 - 14:09h

obs: os espaços serão usados com delimitadores de campo para a formação da coluna.

column -s ' ' -t -c 4 arquivo

Pegue o arquivo formate com 4 colunas usando como separador espaço em branco. Não esqueça de limpar o arquivo temporario.

Boa Sorte!


  


14. Re: alinhamento dados na linha [RESOLVIDO]

sergio de oliveira
sergio.mso

(usa Red Hat)

Enviado em 10/08/2011 - 14:57h

ronin,

Obrigado pela dica.
executei más saiu tudo grudado. ficou sem espacos

Banco de Dados....: intranet (Producao) Data: 10-08-2011 Hora: 02:34:42 PM
TABLESPACE_NAME TAMANHO_TOTAL USADO USADO%
_______________ _____________ __________ _________
DADOS 2.800,00 2.724,44 97
Banco de Dados....: tgest3 (Producao) Data: 10-08-2011 Hora: 02:34:42 PM
TABLESPACE_NAME TAMANHO_TOTAL USADO USADO%
_______________ _____________ __________ _________
MGCP_INDEX 700,00 676,63 97
Banco de Dados....: tgest3 (Producao) Data: 10-08-2011 Hora: 02:34:42 PM
TABLESPACE_NAME TAMANHO_TOTAL USADO USADO%
_______________ _____________ __________ _________
ADMCONTAS 1.200,00 1.101,69 92
Banco de Dados....: tgest3 (Producao) Data: 10-08-2011 Hora: 02:34:42 PM
TABLESPACE_NAME TAMANHO_TOTAL USADO USADO%
_______________ _____________ __________ _________
MGRP_INDEX 2.500,00 2.281,94 91
Banco de Dados....: WIS (Producao) Data: 10-08-2011 Hora: 02:34:42 PM
TABLESPACE_NAME TAMANHO_TOTAL USADO USADO%
_______________ _____________ __________ _________
USERS 13.450,00 13.441,56 100
Banco de Dados....: WIS (Producao) Data: 10-08-2011 Hora: 02:34:42 PM
TABLESPACE_NAME TAMANHO_TOTAL USADO USADO%
_______________ _____________ __________ _________
TLFNC_DATA_MEDIUM 550,00 544,06 99



15. Re: alinhamento dados na linha [RESOLVIDO]

Perfil removido
removido

(usa Nenhuma)

Enviado em 10/08/2011 - 15:08h

Use outro delimitador de campo. O arquivo temporario tem que se parecer com isso. Repare que coloquei ; ; ; ; para dar uma linha em branco e formatar e separar os registros da maneira que você quer.

Banco de Dados: intranet; (Producao); Data: 10-08-2011; Hora: 02:34:42 PM
TABLESPACE_NAME;TAMANHO_TOTAL;USADO;USADO%
_______________;_____________;__________;_________
DADOS;2.800,00;2.724,44;97
; ; ; ;

Banco de Dados: intranet; (Producao); Data: 10-08-2011; Hora: 02:34:42 PM
TABLESPACE_NAME;TAMANHO_TOTAL;USADO;USADO%
_______________;_____________;__________;_________
DADOS;2.800,00;2.724,44;97
; ; ; ;




16. Re: alinhamento dados na linha [RESOLVIDO]

Perfil removido
removido

(usa Nenhuma)

Enviado em 10/08/2011 - 15:20h

Eu recomendo que transforme "banco de dados" "data" e "hora" em campos da tabela. Assim criarias apenas uma "linha de rótulo" para todos os registros.

Mas cada cabeça é uma sentença...


17. Re: alinhamento dados na linha [RESOLVIDO]

Perfil removido
removido

(usa Nenhuma)

Enviado em 10/08/2011 - 15:35h

DATA HORA; BD;TABLESPACE;TAMANHO TOTAL; USADO; USADO%
_________________________;____________________;________________;_______________;____________;___________
10-08-2011 02:34:42 PM;intranet (Producao);DADOS;2.800,00;2.724,44;97
10-08-2011 02:34:42 PM;intranet (Producao);DADOS;2.800,00;2.724,44;97
10-08-2011 02:34:42 PM;intranet (Producao);DADOS;2.800,00;2.724,44;97
; ; ; ; ; ;


column -s ';' -t -c 6 /tmp/texto.txt

Ou esse outro arquivo:
DATA HORA; BD;TABLESPACE;TAMANHO TOTAL; USADO; USADO%
_______________________;___________________;_____;________;________;__
10-08-2011 02:34:42 PM;intranet (Producao);DADOS;2.800,00;2.724,44;97
; ; ; ; ; ;
10-08-2011 02:34:42 PM;intranet (Producao);DADOS;2.800,00;2.724,44;97
; ; ; ; ; ;
10-08-2011 02:34:42 PM;intranet (Producao);DADOS;2.800,00;2.724,44;97
; ; ; ; ; ;


18. Re: alinhamento dados na linha [RESOLVIDO]

sergio de oliveira
sergio.mso

(usa Red Hat)

Enviado em 10/08/2011 - 15:53h

Conforme o script que possuo, o layout está assim:

if [ $fld -gt 90 ];
then
echo "Banco de Dados....: $ORACLE_SID (Producao) Data: $data Hora: $time " >> $TBS_LOG
echo " " >> $TBS_LOG
echo "TABLESPACE_NAME " "TAMANHO_TOTAL " "USADO " " USADO% " >> $TBS_LOG
echo "_______________ " "_____________ " "__________ " " _________" >> $TBS_LOG
echo " " >> $TBS_LOG
echo $line >> $TBS_LOG
echo " " >> $TBS_LOG
echo " " >> $TBS_LOG
echo " " >> $TBS_LOG
echo " " >> $TBS_LOG
fi

Executando esse mesmo script o resultado é:

Banco de Dados....: intranet (Producao) Data: 10-08-2011 Hora: 03:47:10 PM

TABLESPACE_NAME TAMANHO_TOTAL USADO USADO%
_______________ _____________ __________ _________

DADOS 2.800,00 2.724,44 97


Banco de Dados....: tgest3 (Producao) Data: 10-08-2011 Hora: 03:47:10 PM

TABLESPACE_NAME TAMANHO_TOTAL USADO USADO%
_______________ _____________ __________ _________

MGCP_INDEX 700,00 676,63 97


Teria que mudar o layout no script conforme abaixo?

DATA HORA; BD;TABLESPACE;TAMANHO TOTAL; USADO; USADO%
_________________________;____________________;________________;_______________;____________;___________
10-08-2011 02:34:42 PM;intranet (Producao);DADOS;2.800,00;2.724,44;97
10-08-2011 02:34:42 PM;intranet (Producao);DADOS;2.800,00;2.724,44;97
10-08-2011 02:34:42 PM;intranet (Producao);DADOS;2.800,00;2.724,44;97
; ; ; ; ; ;



19. Re: alinhamento dados na linha [RESOLVIDO]

Perfil removido
removido

(usa Nenhuma)

Enviado em 10/08/2011 - 15:57h

Exato jovem JEDI...


20. Re: alinhamento dados na linha [RESOLVIDO]

Perfil removido
removido

(usa Nenhuma)

Enviado em 10/08/2011 - 16:17h

É isso ai... Perceba como é simples. O rotulo é imprimido apenas uma vez. Os registros - cada uma das linhas dentro do laço de repetição. Os campos de cada registro devem ser separados por ponto e virgula.

# Os rotulos
echo '
ROTULO_1;ROTULO_2;ROTULO_3;ROTULO_4;ROTULO_5;ROTULO_6
__________________,__________________,__________________,__________________,__________________,__________________
' >> "/tmp/$0${USER}.tmp"

# O laço que vai imprimir cada um dos registros(linhas)
while [ blá, blá ]
do
echo "${DADO_1};${DADO_2};${DADO_3};${DADO_4};${DADO_5};${DADO_6}"
echo '; ; ; ; ; ;'
done >> "/tmp/$0${USER}.tmp"
echo ' ' >

column -s ';' -t -c 6 "/tmp/$0${USER}.tmp"
rm -f "/tmp/$0${USER}.tmp"


21. Re: alinhamento dados na linha [RESOLVIDO]

sergio de oliveira
sergio.mso

(usa Red Hat)

Enviado em 10/08/2011 - 16:31h

ronin,

Eu mudei o layout e saida ficou como:
USERS;13.450,00;13.448,56;100;

só que deu erro na linha 70. Veriquei e é onde tenho a condição if [ $fld -gt 90 ]; then
eu adicionei ; nos campos só que chegou no if deu erro abaixo por causa do 4 campo, eu acho que ele verifica se é > ou == só que agora tem o valor + ;


executa.sh: line 70: [: 88;: integer expression expected


22. Re: alinhamento dados na linha [RESOLVIDO]

Perfil removido
removido

(usa Nenhuma)

Enviado em 10/08/2011 - 16:55h

Use uma lógica como essa para amarrar...

FLD=0
if [ ! -z $FLD ]; then
if [ $FLD -gt 90 ]; then
echo $FLD
else
echo 'null'
fi
fi


23. Re: alinhamento dados na linha [RESOLVIDO]

sergio de oliveira
sergio.mso

(usa Red Hat)

Enviado em 10/08/2011 - 17:16h

ronin
o meu arquivo de saída agora esta com essa cara:

_______________;_____________;_________; _________
DADOS; 2.800,00; 2.724,44; 97
; ; ; ; ;
TABLESPACE_NAME;TAMANHO_TOTAL;USADO;USADO%
_______________;_____________;_________; _________
MGCP_INDEX; 700,00; 676,63; 97
; ; ; ; ;
TABLESPACE_NAME;TAMANHO_TOTAL;USADO;USADO%
_______________;_____________;_________; _________
ADMCONTAS; 1.200,00; 1.101,69; 92
; ; ; ; ;
TABLESPACE_NAME;TAMANHO_TOTAL;USADO;USADO%
_______________;_____________;_________; _________
MGRP_INDEX; 2.500,00; 2.281,94; 91
; ; ; ; ;
TABLESPACE_NAME;TAMANHO_TOTAL;USADO;USADO%
_______________;_____________;_________; _________
USERS; 13.450,00; 13.448,56; 100
; ; ; ; ;
TABLESPACE_NAME;TAMANHO_TOTAL;USADO;USADO%
_______________;_____________;_________; _________
TLFNC_DATA_MEDIUM; 550,00; 544,06; 99
; ; ; ; ;




quando executo com o comando column -s ';' -t -c 6 arquivo.txt o resultado


TABLESPACE_NAME TAMANHO_TOTAL USADO USADO%
_______________ _____________ _________ _________
DADOS 2.800,00 2.724,44 97

TABLESPACE_NAME TAMANHO_TOTAL USADO USADO%
_______________ _____________ _________ _________
MGCP_INDEX 700,00 676,63 97

TABLESPACE_NAME TAMANHO_TOTAL USADO USADO%
_______________ _____________ _________ _________
ADMCONTAS 1.200,00 1.101,69 92

TABLESPACE_NAME TAMANHO_TOTAL USADO USADO%
_______________ _____________ _________ _________
MGRP_INDEX 2.500,00 2.281,94 91

TABLESPACE_NAME TAMANHO_TOTAL USADO USADO%
_______________ _____________ _________ _________
USERS 13.450,00 13.448,56 100

TABLESPACE_NAME TAMANHO_TOTAL USADO USADO%
_______________ _____________ _________ _________
TLFNC_DATA_MEDIUM 550,00 544,06 99


Se eu quizer que pule + de uma linha de um tablespace_name para outro eu tenho que usar + ; ou não


24. Re: alinhamento dados na linha [RESOLVIDO]

Perfil removido
removido

(usa Nenhuma)

Enviado em 10/08/2011 - 17:21h

Você não prestou atenção na logica que eu te falei...

Na linha antes do primeiro laço de repetição você coloca os cabeçalhos da tabela... Dentro do laço: as linhas

Isso vai antes do laço
ROTULO
_________

Isso vem dentro do laço


DADOS...
; ; ; ;



01 02 03



Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts