私はあまりにも扱いにくいとは思わないものに苦労しています。 次のコンテンツを含む複数のファイルがあります。2つのファイルからフィールドをペースト/ジョインしようとする奇妙な結果
file1の
Model: nfb
Avg(logl(X)): -275.030
logl(Avg(X)): -252.172
DBar: 550.060
Dhat: 504.343
pD: 45.717
DIC: 595.777
FILE2
Model: b
Avg(logl(X)): -273.124
logl(Avg(X)): -251.069
DBar: 546.248
Dhat: 502.138
pD: 44.110
DIC: 590.358
どちらのファイルはタブ区切りです。
Model: nfb b
Avg(logl(X)): -275.030 -273.124
logl(Avg(X)): -252.172 -251.069
DBar: 550.060 546.248
Dhat: 504.343 502.138
pD: 45.717 44.110
DIC: 595.777 590.358
が、すべて私のマージの試みはちょうど私が把握することはできませんいくつかの奇妙な理由で他の真上に一つのファイルから情報をコピーします。私はこのようなもので終わるように、それらをマージしようとしています。 ...ので、私はこれで終わるよ:
$ paste -d $'\t' dummie1 dummie2
Model: Model: b
Avg(loglAvg(logl(X)):030-273.124
logl(Avglogl(Avg(X)):172-251.069
DBar: DBar:60 546.248
Dhat: Dhat:43 502.138
pD: pD:717 44.110
DIC: DIC:777 590.358
と $ awk 'FNR==NR { a[$1] = $2; next } { print $0, a[$1] }' dummie1 dummie2
私はこの
1 a b c d
1 a b c d
1 a b c d
1 a b c d
1 a b c d
のような単純なファイルを使用する場合、コードの作業罰金の両方のセットは、だから、私は見ていないよ、データファイルについて怪しいものがあると仮定しています。
あなたのファイルは、おそらくWindows上で作成されたので、各行の最後に制御-MSを持っています。削除する
dos2unix
を使用した後コントロールを-MSは、あなたはこれらのいずれかを行うことができます。それらを見るには 'cat -v file'を使い、それを修正するには' dos2unix'などとしてください。サンプルの入力があった場合に期待される出力を表示するために質問を編集すると、より多くのお手伝いをすることができます。 –ありがとう、@エドモートン。私はマックにいるので、 'cat file1 | col -b> newfile1'を 'dos2unix'に代わるものとして使用しています。 – user2465805