次のコマンドを使用してファイルをマージしようとしています。
paste data_{1..2}.txt > 1_2.txt
paste <(awk '{print $1}' data_2.txt ) <(awk '{print $1}' data_2.txt) > 1_2.txt
しかし、出力の列はキューに入れないでください。タブとスペースをきれいにしてみましたが、まだ同じ結果が得られます。以下は私のサンプルデータです。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
...そして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
合併後出力:
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'