Manipulação de arquivo [RESOLVIDO]

1. Manipulação de arquivo [RESOLVIDO]

Alexandre Rios
alex_tj

(usa Outra)

Enviado em 31/07/2018 - 11:54h

Amigos,

Bom dia,

Possuo um arquivo que virá sempre na formatação abaixo:

HISTORICO|2018-04-01 - 6264
HISTORICO|2018-05-01 - 19771
NECESSIDADE|2018-05-01 - 43672
TRILHA|2018-05-01 - 26494

Entretanto gostaria de transformá-lo para outro estilo de visualização para facilitar para o meu usuário, então pensei em uma saída da seguinte forma:

- HISTORICO
2018-04-01 - 6264
2018-05-01 - 19771

- NECESSIDADE
2018-05-01 - 43672

- TRILHA
2018-05-01 - 26494


Seria possível, algo semelhante a isso, com algum comando linux?


Desde já muito obrigado!.


  


2. MELHOR RESPOSTA

Mauriciodez
Mauriciodez

(usa Debian)

Enviado em 31/07/2018 - 12:02h

alex_tj escreveu:

Amigos,

Bom dia,

Possuo um arquivo que virá sempre na formatação abaixo:

HISTORICO|2018-04-01 - 6264
HISTORICO|2018-05-01 - 19771
NECESSIDADE|2018-05-01 - 43672
TRILHA|2018-05-01 - 26494

Entretanto gostaria de transformá-lo para outro estilo de visualização para facilitar para o meu usuário, então pensei em uma saída da seguinte forma:
...
Seria possível, algo semelhante a isso, com algum comando linux?


Desde já muito obrigado!.


V aí se te agrada
sed 's/^/-/' txt.txt | sed 's/$/\n/' | sed 's/|/\n/' 


------------------------------------------| Linux User #621728 |-----------------------------------------

" Nem sempre é amigo aquele que te tira do buraco !!! ( Saddam Hussein )"

------------------------------------------| Linux User #621728 |-----------------------------------------


3. Re: Manipulação de arquivo [RESOLVIDO]

Alexandre Rios
alex_tj

(usa Outra)

Enviado em 31/07/2018 - 13:10h

Fala Mauriciodez ,

Vlw mano pela ideia, peguei boa parte da sua ideia e adaptei para chegar exatamente na saída que eu queria.

mas, mais uma vez obrigado, pq ajudou na luz pra solução.

Ta aí como ficou o código final:

sed 's/^/*-/' [Arquivo.txt] | sed 's/|/\n/' | awk '!($0 in i) {i[$0] ; print}' | sed 's/*/\n/'



Abç.




4. Re: Manipulação de arquivo [RESOLVIDO]

Mauriciodez
Mauriciodez

(usa Debian)

Enviado em 31/07/2018 - 13:19h

alex_tj escreveu:
Ta aí como ficou o código final:

sed 's/^/*-/' [Arquivo.txt] | sed 's/|/\n/' | awk '!($0 in i) {i[$0] ; print}' | sed 's/*/\n/'



massa ... gostei do "awk '!($0 in i) {i[$0] ; print}'" ... não entendi mas compreendi ... ainda está longe para meu futebolzinho, um dia aprendo ... kkkkk

Abçs

------------------------------------------| Linux User #621728 |-----------------------------------------

" Nem sempre é amigo aquele que te tira do buraco !!! ( Saddam Hussein )"

------------------------------------------| Linux User #621728 |-----------------------------------------



5. Re: Manipulação de arquivo [RESOLVIDO]

Marcelo Oliver
msoliver

(usa Debian)

Enviado em 31/07/2018 - 20:43h

Mauricio, para ajudar a melhorar o seu "futebol", que, por sinal, melhorou bastante.
O comando sed, para substituição, aceita a sintaxe abaixo:
sed 's/^/-/;s/$/\n/;s/|/\n/' texto
-HISTORICO
2018-04-01 - 6264

-HISTORICO
2018-05-01 - 19771

-NECESSIDADE
2018-05-01 - 43672

-TRILHA
2018-05-01 - 26494

Tornando desnecessário o uso de "pipes".

Abç.:
Marcelo


6. Re: Manipulação de arquivo [RESOLVIDO]

Mauriciodez
Mauriciodez

(usa Debian)

Enviado em 31/07/2018 - 20:51h

msoliver escreveu:

Mauricio, para ajudar a melhorar o seu "futebol", que, por sinal, melhorou bastante.
O comando sed, para substituição, aceita a sintaxe abaixo:
[code]sed 's/^/-/;s/$/\n/;s/|/\n/' texto
Abç.:
Marcelo


valew !!

------------------------------------------| Linux User #621728 |-----------------------------------------

" Nem sempre é amigo aquele que te tira do buraco !!! ( Saddam Hussein )"

------------------------------------------| Linux User #621728 |-----------------------------------------




  



Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts