2016-05-29 2 views
1

このデータを使用して: 2つの異なるファイルの複数の列を貼り付けて貼り付けるにはどうすればよいですか?

$cat file1 
8.0  175.0 
9.0  405.8 
10.0 844.8 
11.0 307.2 

$cat file2 
8.0  188.5 
9.0  428.6 
10.0 945.7 
11.0 335.9 

はどうすればこれらは一緒には行単位にマージすることができます。私は単に似 pasteでいくつかの可能性を試してみました:

8.0  8.0.5 175.0 
9.0  9.0.6 405.8 
10.0 10.07 844.8 
11.0 11.09 307.2 

私がしたいのですが、結果:

$paste file1 file2 

問題は、私は真ん中の1、2個のオリジナルのものからマージされた3つの列を取得するということです

8.0  175.0 8.0 188.5 
9.0  405.8 9.0 428.6 
10.0 844.8 10.0 945.7 
11.0 307.2 11.0 335.9 
+0

これは意味をなさない。貼り付けは貼り付けられた2つの行の間にタブを挿入する必要があります。そのため、出力はあなたの例のように見えるはずです。 – Gene

+0

私があなたの例を作り直すと、あなたが指定した出力が得られます。唯一の違いは、私が最初の2行に先行スペースを得ていないことです。 – ddoxey

+0

先頭のスペースは意図されていませんでした。ごめんなさい。私がOS Xを使用している理由は? – McLawrence

答えて

2

あなたのファイルがR \ n個の行末を\しているので、最初の行は、実際にある:

次のようになりますファイルに
8.0\t175.0\r\t8.0\t188.5\r\n 
#^^^^^^^^^^^..^^^^^^^^^^^^ 
# file1   file2 
#   tab added by paste 

run dos2unixまたはsed -i.bak 's/\r$//'を実行してください。

+0

ところで、 "mangled"出力はコマンド 'paste file2 file1'からのものでした –

関連する問題