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

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

Re: [shell-script] Ajuda Na Formatação de Texto


From: Julio C. Neves
Subject: Re: [shell-script] Ajuda Na Formatação de Texto
Date: Mon, 24 Oct 2016 16:38:48 -0200

Fala Vinicius,
tem um monte de formas de fazer isso e inclusive o Itamar já deu algumas excelentes dicas. Mas uma outra forma de fazer isso, e estou dando esse pitaco, somente porque os campos são tabulados e, para piorar, faltam alguns STEP, seria contar a posição dos campos que vc deseja e usar um grep+cut ou um sed.

grep -F XSM arquivo | cut -c POSICAO

ou

sed -r '/XSM/!d; s/.{POSICAO-1}(.).*/\1/' arquivo

se o 0 estiver na posição 60, ficaria:

grep -F XSM arquivo | cut -c 60

ou

sed -r '/XSM/!d; s/.{59}(.).*/\1/' arquivo


Abcs,
Julio
@juliobash

P
róximos cursos de Shell
Cidade         Local Período
São Paulo 4Linux 05
-09/12
Dou treinamento de Shell em qualquer cidade.
Para mais detalhes, me mande um e-mail.


Em 24 de outubro de 2016 15:18, Vinicius Ruiz address@hidden [shell-script] <address@hidden.br> escreveu:
 

Pessoal Boa Tarde Tudo bem ?

Preciso de uma luz para formatar o texto abaixo usando shell...

P PSTR  10/21/2016 11:02:04 Proc_Customers_Abc   1490                0      XSMG200I
P LSST  10/21/2016 11:02:04 Proc_Customers_Abc   1490  STEP1         0      XSMG201I
P CTRC  10/21/2016 11:02:11 Proc_Customers_Abc   1490  STEP1         0      SCPA000I
P LSST  10/21/2016 11:02:11 Proc_Customers_Abc   1490                0      XSMG201I
P IFED  10/21/2016 11:02:11 Proc_Customers_Abc   1490                0      XSMG409I
P LSST  10/21/2016 11:02:11 Proc_Customers_Abc   1490  STEP2         0      XSMG201I
P RTED  10/21/2016 11:02:11 Proc_Customers_Abc   1490  STEP2         0      SRTA000I
P LSST  10/21/2016 11:02:11 Proc_Customers_Abc   1490  STEP3         0      XSMG201I
P IFED  10/21/2016 11:02:11 Proc_Customers_Abc   1490  STEP3         0      XSMG409I
P LSST  10/21/2016 11:02:11 Proc_Customers_Abc   1490  SUBCONDOK     0      XSMG201I
P RTED  10/21/2016 11:02:11 Proc_Customers_Abc   1490  SUBCONDOK     0      XSMG402I
P LSST  10/21/2016 11:02:11 Proc_Customers_Abc   1490                0      XSMG201I
P PRED  10/21/2016 11:02:11 Proc_Customers_Abc   1490                0      XSMG252I

Eu troquei os espaços por ";"

P;PSTR;;10/21/2016;11:02:04;Proc_Customers_Abc;;;1490;;;;;;;;;;;;;;;;0;;;;;;XSMG200I
P;LSST;;10/21/2016;11:02:04;Proc_Customers_Abc;;;1490;;STEP1;;;;;;;;;0;;;;;;XSMG201I
P;CTRC;;10/21/2016;11:02:11;Proc_Customers_Abc;;;1490;;STEP1;;;;;;;;;0;;;;;;SCPA000I
P;LSST;;10/21/2016;11:02:11;Proc_Customers_Abc;;;1490;;;;;;;;;;;;;;;;0;;;;;;XSMG201I
P;IFED;;10/21/2016;11:02:11;Proc_Customers_Abc;;;1490;;;;;;;;;;;;;;;;0;;;;;;XSMG409I
P;LSST;;10/21/2016;11:02:11;Proc_Customers_Abc;;;1490;;STEP2;;;;;;;;;0;;;;;;XSMG201I
P;RTED;;10/21/2016;11:02:11;Proc_Customers_Abc;;;1490;;STEP2;;;;;;;;;0;;;;;;SRTA000I
P;LSST;;10/21/2016;11:02:11;Proc_Customers_Abc;;;1490;;STEP3;;;;;;;;;0;;;;;;XSMG201I
P;IFED;;10/21/2016;11:02:11;Proc_Customers_Abc;;;1490;;STEP3;;;;;;;;;0;;;;;;XSMG409I
P;LSST;;10/21/2016;11:02:11;Proc_Customers_Abc;;;1490;;SUBCONDOK;;;;;0;;;;;;XSMG201I
P;RTED;;10/21/2016;11:02:11;Proc_Customers_Abc;;;1490;;SUBCONDOK;;;;;0;;;;;;XSMG402I
P;LSST;;10/21/2016;11:02:11;Proc_Customers_Abc;;;1490;;;;;;;;;;;;;;;;0;;;;;;XSMG201I
P;PRED;;10/21/2016;11:02:11;Proc_Customers_Abc;;;1490;;;;;;;;;;;;;;;;0;;;;;;XSMG252I

mas mesmo assim ainda continuo com dificuldade para pegar todos valores "0" que estão praticamente nas penultimas colunas finais deste texto 

todos os "0" antes das palavras XSM* eu precisaria ler para comparar e testar o código de erro. Esse "0" é um código de retorno que eu preciso capturar e comparar. Destaquei em negrito.

Alguém poderia dar uma ajuda ?

Obrigado.

Vinicius






reply via email to

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