我正在使用
join -1 2 -2 2 file1.txt file2.txt > file3.txt
根据第二列加入我的两个文本文件,并将它们写入file3.txt,这非常有效。但是,我不希望file3.txt包含公共字段。谷歌搜索和加入man
页面表明-o
格式化操作符可以帮助实现这一目标,但我该怎么做呢?
答案 0 :(得分:1)
假设每个文件只有两列,并且您想要连接第二列但只显示输出中每个文件的第一列,请使用
join -1 2 -2 2 -o 1.1,2.1 file1.txt file2.txt > file3.txt
请记住,在加入之前,您的两个文件应在第二列上进行排序。
示例运行:
$ cat file1.txt
2 1
3 2
7 2
8 4
2 6
$ cat file2.txt
3 1
5 4
9 9
$ join -1 2 -2 2 -o 1.1,2.1 file1.txt file2.txt
2 3
8 5