Por que a saída desse comando de colar é dividida em linhas separadas com recuos?

1

Eu estava tentando mesclar arquivos usando um desses comandos:

paste data_{1..2}.txt > 1_2.txt

paste <(awk '{print $1}' data_2.txt ) <(awk '{print $1}' data_2.txt) > 1_2.txt

Mas as colunas na saída não se alinham . Eu tentei limpar guias e espaços, mas ainda assim obtenho o mesmo resultado. Aqui estão os dados da minha amostra abaixo para data_1.txt :

TMAX
34.2481
19.1582
-0.903817
-0.408851
-0.849964
0.596377
0.922126
-5.13179
-17.4449
-15.1031
-12.5849
-12.2548

... e para data_2.txt :

TMAX
33.629
18.5924
-1.37411
-1.00714
-1.48201
0.0046866
0.295162
-5.69127
-18.0672
-15.7163
-13.1048
-12.8443
-11.9689

A saída combinada :

TMAX
    TMAX
34.2481
    33.629
19.1582
    18.5924
-0.903817
    -1.37411
-0.408851
    -1.00714
-0.849964
    -1.48201
0.596377
    0.0046866
0.922126
    0.295162
-5.13179
    -5.69127
-17.4449
    -18.0672
-15.1031
    -15.7163

O que se espera, é claro, é que as colunas se alinhem assim:

TMAX    TMAX
34.2481 33.629
19.1582 18.5924
-0.903817   -1.37411
-0.408851   -1.00714
-0.849964   -1.48201
0.596377    0.0046866
0.922126    0.295162
-5.13179    -5.69127
-17.4449    -18.0672
-15.1031    -15.7163
-12.5849    -13.1048
-12.2548    -12.8443
-11.371 -11.9689

Por que estou obtendo a saída distorcida com linhas divididas e recuo?

    
por AiB 02.09.2014 / 22:24

1 resposta

2

Parece que seus arquivos contêm alguns caracteres especiais, como retorno de carro \r\n . Você pode verificar usando:

cat -et file

Se tiver, você deve remover \r antes de usar paste :

tr -d '\r'
    
por 03.09.2014 / 08:04