Alterar separador de campo na tabela

0

Eu tenho várias tabelas com o seguinte formato

1971-01-01 1124
1971-01-02 987
1971-01-03 954
...

Em vez disso, gostaria de alterar o separador de campo para ter o seguinte formato de tabela

1971 01 01 1124
1971 01 02 987
1971 01 03 954
...

Alguém sabe como fazer isso?

    
por steve 02.03.2016 / 15:10

4 respostas

2

Você pode usar tr (translate) para isso:

tr -- - ' ' < file

-- indica que você não está passando nenhuma opção após esse argumento. No GNU tr, pelo menos, isso não é necessário, mas provavelmente está em algumas outras versões.

Você também pode usar sed ou uma grande variedade de outras ferramentas:

sed 'y/-/ /'
awk -F- '$1=$1'  # implicit translation using OFS
    
por 02.03.2016 / 15:25
1

Diga a awk para usar - como um separador de campo e substitua-o por um padrão (espaço):

awk -F - '$1=$1' file
    
por 02.03.2016 / 15:26
1

Ou você pode usar sed

$ sed -e 's|-| |g' file
    
por 02.03.2016 / 15:35
1

Várias abordagens.

<file tr \- \ 

<file sed -e 'y/-/ /'

<file awk -F - '{$1=$1};1'

<file perl -pe 'y/-/ /'
    
por 02.03.2016 / 16:34

Tags