alinhamento dados na linha [RESOLVIDO]

25. Re: alinhamento dados na linha [RESOLVIDO]

Perfil removido
removido

(usa Nenhuma)

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

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


Quando conseguir fazer com que essa saida vá para o arquivo use o comando
column -s ';' -t -c 4 arquivo_de_saida e terás:


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

ADMCONTAS 1.200,00 1.101,69 92

MGRP_INDEX 2.500,00 2.281,94 91

USERS 13.450,00 13.448,56 100

TLFNC_DATA_MEDIUM 550,00 544,06 99



  


26. Re: alinhamento dados na linha [RESOLVIDO]

sergio de oliveira
sergio.mso

(usa Red Hat)

Enviado em 11/08/2011 - 09:41h

ronin,
Eu não mudei lógica porque queria que mostra-se o rotulo para cada tablespaces_name. São de bancos diferentes. Conforme abaixo são 6 tablespaces apresentado.

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.451,25; 13.449,56; 100
; ; ; ; ;
TABLESPACE_NAME;TAMANHO_TOTAL;USADO;USADO%
_______________;_____________;_________; _________
TLFNC_DATA_MEDIUM; 550,00; 544,06; 99
; ; ; ; ;

Executando o script com as modificações com ponto e virgula ficou bom:
Só que eu queria mais espaço entre um tablespace_name e outro. Tem como?

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.451,25 13.449,56 100

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





27. Re: alinhamento dados na linha [RESOLVIDO]

sergio de oliveira
sergio.mso

(usa Red Hat)

Enviado em 11/08/2011 - 11:17h

Executando o script com o comando column -s ';;;;;;' -t -c6 gera_logs_tablespaces.lst o resultado sai assim.
Uma pergunta tem como dar mais espaçamento entre as colunas ou seja entre os ponto e virgula?

TABLESPACE_NAME ; TAMANHO_TOTAL; USADO ; USADO%
____________________; _____________; ________; ______
; ; ; ; ;
TLFNC_DATA_MEDIUM; 550,00; 544,06; 99
; ; ; ; ;
; ; ; ; ;
; ; ; ; ;



28. Re: alinhamento dados na linha [RESOLVIDO]

Perfil removido
removido

(usa Nenhuma)

Enviado em 11/08/2011 - 11:39h

nossa, q cansera..

usa o printf para cada saída, igual em C...

man printf

boa sorte.


29. Re: alinhamento dados na linha [RESOLVIDO]

Perfil removido
removido

(usa Nenhuma)

Enviado em 11/08/2011 - 13:58h

Coloque espaços entre os ;.
Perceba que as colunas são formatadas conforme a maior largura (quantidade de caracteres) do dado.

ROTULO----ROTULOMAIOR--ROTULO
DADDDDDO--DADO---------DADO

Então capriche nos rotulos. Tenha paciência. Senão você não conseguirá assimilar o script. Quebre o problema em passos.



30. Re: alinhamento dados na linha [RESOLVIDO]

Geraldo Albuquerque
AprendiNoLinux

(usa Ubuntu)

Enviado em 11/08/2011 - 16:15h

Olá @vfs , estou achando interessante esta solução e aprendendo.
Logo no início eu indiquei o printf também, embora ainda não tenha usado ele no aprendizado.

Estou achando a interação entre o @sergio.mso e o @ronin muito produtiva.

Estou esperando o resultado final e a conclusão de como ficará o Script.


Gostaria de ajudar mais, mas estou enrolado até a tampa.
Espero no futuro colaborar mais com as soluções quando dominar todos os comandos.

off-topic

Vamos simbora, programarrrr, cair e levantar, vamos simboraaa, programar, teclar errar e acertar.
Parafrasiando a canção: http://www.youtube.com/watch?v=_NUz9Jd8z9o

@GA_Tux


31. Re: alinhamento dados na linha [RESOLVIDO]

sergio de oliveira
sergio.mso

(usa Red Hat)

Enviado em 15/08/2011 - 09:17h

ronin,
Obrigado pelo apoio
Funcionou perfeitamente.


32. Re: alinhamento dados na linha [RESOLVIDO]

Geraldo Albuquerque
AprendiNoLinux

(usa Ubuntu)

Enviado em 16/08/2011 - 12:05h

Olá @sergio.mso , como ficou a versão final do Script ?

Se tiver um passo a passo será legal. :)


33. Re: alinhamento dados na linha [RESOLVIDO]

sergio de oliveira
sergio.mso

(usa Red Hat)

Enviado em 16/08/2011 - 13:26h

Hebang
Sua ajuda foi muito satisfatoria. Conclui o término do script.

while read inputline
do
SID="$(echo $inputline | cut -f1)"
ORACLE_SID=$SID
TBS_DIR1="/home/oracle/scripts/LOGSTBS"

for i in $(ls ${TBS_DIR1}/tablespaces_$ORACLE_SID.txt);
do
cat "$i" | expand | tr -s " " | while read line;
do
fld=$(echo $line | cut -d ' ' -f 4)
if [ $fld -gt 90 ];
then
echo "Banco de Dados..:$ORACLE_SID (Producao); ; ; " >> $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
echo " " >> $TBS_LOG
echo " " >> $TBS_LOG
echo " " >> $TBS_LOG
fi
done
done
rm ${TBS_DIR1}/tablespaces1_$ORACLE_SID.txt
done < ${TBS_DIR1}/tablespaces.txt





01 02 03



Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts