我在粘贴文件时遇到了一些问题。我有三个文件
温度1
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
温度2
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
和温度3
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
我希望有一个看起来像这样的文件
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
然而,当我使用 Paste -d" " temp1 temp2 temp3 进行粘贴时,我得到:
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
这让我认为我的文件中有一些看不见的空格或类似的东西,因为我必须从其他文件中排序和复制这三个文件。我也丢失了数据,所以我也不确定那里发生了什么...如果存在我看不到的空格,有没有办法清除这些空格,以便我可以获得理想的结果?
任何帮助都会很棒。谢谢
答案1
至少temp1
和temp2
,但temp3
也可能在末尾有回车符一些他们的线路。这会导致某些行的输出在输出下一个文件的数据之前将光标移回到行的开头。
我不确定这可能来自哪里,但它可能有一些复制粘贴过程在从 Windows 系统上创建/编辑的文件进行复制时设法保留回车符。
因为它看起来不像全部行以回车符(\r
)结尾,我不确定是否dos2unix
能够纠正文件(你可以尝试一下)。
以下将从\r
文件中删除所有内容,无论它们出现在何处:
tr -d '\r' <file >file.tmp && mv file.tmp file
另请注意,该命令的预期输出paste
将是
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
您预期输出中的大多数值根本不存在于输入中。