0

file1 の field1 と file2 の field2 を介して結合できる、並べ替えられた file1 からすべてのフィールドを出力したいと思います。file1 に 3 つのフィールドがある場合、次のようにできます。

  join -1 $field1 -2 $field2 -o 1.1,1.2,1.3 $file1 $file2

しかし、file1 に数百または数千のフィールドがある場合、どうすればよいでしょうか? 私の現在の回避策の 1 つは Python で、もう 1 つは、file1 と file2 の結合フィールド値を含む 2 つの並べ替えられたファイルに対して comm -12 を実行し、その後、comm -12 によって生成されたファイルで file1 を結合することです。

これは file1入力である可能性があります。

 1 A
 2 B
 3 C

そしてfile2入力

 3 D
 4 E
 5 F

この出力を取得するにはどうすればよいですか(列 2 の共有値):

 C

これを行わずに:

 join -1 1 -2 1 -o 1.2 $file1 $file2
4

1 に答える 1