Colando arquivos com espaços ocultos

3

Estou tendo problemas para colar arquivos. Eu tenho três arquivos

temp1

F gge0006x
D 12-30-2006
T 14:05:23
S a69
B 15.4
M gge06001
P 30.8
Q 19.2
R 1006.2
U 1012.7
X 36.2
A 38.994
G 107.71
H 8.411
O 37.084
C 7.537
K 28.198
W 212.52
L 68.1

temp2

gge0006y
12-30-2006
14:05:55
a69
15.3
gge06001
30.6
21.1
1006.6
1014.6
36.1
38.994
107.71
8.433
36.705
7.621
27.623
210.51
68

e temp3

gge0006z
12-30-2006
14:06:28
a69
15.7
gge06001
30.3
23.5
1008
1014.1
36.6
38.994
107.71
8.434
36.508
7.546
27.574
208.08
67.6

Eu estou olhando para ter um único arquivo que se parece com algo como

F gge0001x gge0001y gge0001z
D 12-30-2006 12-30-2006 12-30-2006
T 14:15:20 14:15:55 14:16:27
S a69 a69 a69
B 15.8 16.1 15
M gge06001 gge06001 gge06001
P 30.1 29.6 29.9
Q 20.2 22.3 23.4
R 1006.2 1003.5 999.8
U 1011.8 1011.8 1005
X 34.7 35.2 35.1
A 38.994 38.994 38.994
G 107.71 107.71 107.71  
H 8.395 8.406 8.368
O 37.141 36.823 36.621
C 7.55 7.532 7.437
K 28.193 27.902 27.856
W 212.86 210.15 207.15
L 68.3 67.9 67.6

No entanto, quando vou colar usando pasta -d "" temp1 temp2 temp3 Eu recebo:

 gge0006zx
 12-30-20066
 14:06:283
 a699
 15.74
 gge060011
P 30.8 30.6 30.3
Q 19.2 21.1 23.5
R 1006.2 1006.6 1008
U 1012.7 1014.6 1014.1
 36.62
A 38.994 38.994 38.994
G 107.71 107.71 107.71
H 8.411 8.433 8.434
O 37.084 36.705 36.508
C 7.537 7.621 7.546
K 28.198 27.623 27.574
W 212.52 210.51 208.08
L 68.1 68 67.6

O que me leva a pensar que existem alguns espaços de espaços invisíveis em meus arquivos ou algo assim, como eu tive que classificar e copiar esses três arquivos de outros arquivos. Eu também estou perdendo dados, então não tenho certeza do que está acontecendo lá também ... Se for o caso de haver espaços que não posso ver, existe uma maneira de eliminá-los para que eu possa obter um resultado desejável?

Qualquer ajuda seria ótima. Obrigado

    
por Ububtunoob 11.10.2017 / 04:19

1 resposta

1

Pelo menos, temp1 e temp2 , mas possivelmente temp3 , têm retornos de carro no final de alguns de suas linhas. Isso faz com que a saída de algumas linhas mova o cursor de volta ao início da linha antes que os dados do próximo arquivo sejam exibidos.

Não sei ao certo de onde isso poderia ter vindo, mas talvez tenha sido algum procedimento de copiar e colar que conseguiu preservar os retornos de carro ao copiar de um arquivo criado / editado em um Sistema Windows.

Como não parece que todas as linhas terminam com retornos de carro ( \r ), não tenho certeza se dos2unix seria capaz de corrigir os arquivos (você poderia tentar) .

O seguinte removeria todos os \r de um arquivo, independentemente de onde eles ocorressem:

tr -d '\r' <file >file.tmp && mv file.tmp file

Note também que a saída esperada do comando paste será

F gge0006x gge0006y gge0006z
D 12-30-2006 12-30-2006 12-30-2006
T 14:05:23 14:05:55 14:06:28
S a69 a69 a69
B 15.4 15.3 15.7
M gge06001 gge06001 gge06001
P 30.8 30.6 30.3
Q 19.2 21.1 23.5
R 1006.2 1006.6 1008
U 1012.7 1014.6 1014.1
X 36.2 36.1 36.6
A 38.994 38.994 38.994
G 107.71 107.71 107.71
H 8.411 8.433 8.434
O 37.084 36.705 36.508
C 7.537 7.621 7.546
K 28.198 27.623 27.574
W 212.52 210.51 208.08
L 68.1 68 67.6

A maioria dos valores em sua saída esperada simplesmente não está presente na entrada.

    
por 11.10.2017 / 08:25

Tags