我试图使用以下命令合并文件:
paste data_{1..2}.txt > 1_2.txt
paste <(awk '{print $1}' data_2.txt ) <(awk '{print $1}' data_2.txt) > 1_2.txt
但输出中的列不要排队。我尝试清理制表符和空格,但仍然得到相同的结果。下面是我的示例数据数据_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
...并且为了数据_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
合并后的输出:
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
当然,预期的列应该像这样排列:
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
为什么我会得到带有线条分割和缩进的扭曲输出?
答案1
您的文件似乎包含一些特殊字符,例如回车符\r\n
。您可以使用以下方法进行检查:
cat -et file
如果有,您应该\r
在使用前删除paste
:
tr -d '\r'