0

我想输出排序后的 file1 中的所有字段,这些字段可以通过 file1 的 field1 和 file2 的 field2 连接。如果 file1 有三个字段,那么我可以执行以下操作:

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

但是,如果 file1 有数百或数千个字段,我该怎么办?我目前的解决方法之一是 Python,另一个是对两个排序文件执行 comm -12,其中包含来自 file1 和 file2 的连接字段值,然后将 file1 与由 comm -12 生成的文件连接。

这可能是 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

0

我遇到了这个答案,它使用了有用的语法。下面n是列数。

join -1 1 -2 1 -o"$(echo 1.{2..n})" $file1 $file2
于 2018-03-07T02:21:16.027 回答