1週間前に質問を投稿しましたが、答えは単純に(joinを使用)でした。
join <(sort file1) <(sort file2) >output
通常は最初のフィールドである共通の何かを持つファイルを結合します。
私は次の2つのファイルを持っています:
gene.txt
ENSG001 ENSG002
ENSG002 ENSG001
ENSG003 ENSG004
features.txt
ENSG001 400
ENSG002 350
ENSG003 210
ENSG004 100
次のようにするには、これら2つのファイルを結合する必要があります。
output.txt
ENSG001 400 ENSG002 350
ENSG002 350 ENSG001 400
ENSG003 210 ENSG004 100
答えがjoinコマンドにあることは知っていますが、2つのフィールドに基づいて結合する方法がわかりません。私は試した
join -j 1 <(sort genes.txt) <(sort features.txt) >attempt1.txt
しかし、結果は次のようになります。
try1.txt
ENSG001 ENSG002 400
ENSG002 ENSG001 350
ENSG003 ENSG004 210
それから私は試しました
join -j 2 <(sort -k 2 genes.txt) <(sort -k 2 features.txt) >attempt2.txt
try2.txtが空です
(結合)には、2つのフィールドに基づいて2つのファイルを結合する機能がありますか?いいえの場合、どうすればそれを行うことができますか?