2012-08-09 17 views
1

我使用 join -1 2 -2 2 file1.txt file2.txt > file3.txt加入我的兩個文本文件基於他們的第二列,並將它們寫入file3.txt,它完美地工作。但是,我不希望file3.txt包含通用字段。谷歌搜索和加入的man頁面暗示-o格式化操作符可以幫助完成此操作,但我應該怎麼做呢?使用unix加入-o不打印共同字段

回答

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