Linux join命令簡介

From:http://www.xiaoxiaozi.com/2009/11/17/1642/

 
join
功能說明:將兩個文件中,指定欄位內容相同的行連接起來。
語法:join [-i][-a<1或2>][-e<字符串>][-o<格式>][-t<字符>][-v<1或2>][-1<欄位>][-2<欄位>]
[--help][--version][文件1][文件2]
補充說明:找出兩個文件中,指定欄內容相同的行,並加以合併,再輸出到標準輸出設備。
 
上面的語法裏說的很是清楚,下面簡要講一下,規矩不多,大家忍一忍。
參數    意義
-i      i在Linux命令的參數中,大多數都是忽略大小寫的意思,這裏也不例外
-a      除了顯示出兩個文件中相同的那一部分外,根據a後面的參數,
        1爲第一個文件,2爲第二個文件,將其自己獨特的部分顯示出來
-e      若兩個join的文件中找不到指定的欄位,則輸出該參數後面的字符串
-o      按照指定的格式來顯示結果,例如只顯示第一個文件的第4列就可以用-o 1.4
-t      文件中的列分隔符,記住這裏是一個字符,字符串是不行的
-v      根據後面的參數1或2,來顯示其中沒有的值
-1      指定匹配列爲第一個文件中的某列,如果不指定,默認爲第一列
-2      指定匹配列爲第二個文件中的某列,如果不指定,默認爲第一列
 
數據最有說明力,咱也來一兩個小例子,加深一下理解
wulin_tmp.txt
10020836
10022314
10024552
10101706
10129056
10160668
10160769
10163808
10165523
10170074
 
wulin_old.txt
10017914
10020836
10022314
10024552
10048910
10101706
101261
10129056
10146679
10160668
 
我想要二者相同的值,可以直接使用如下語句:
join wulin_tmp.txt wulin_old.txt
然而我要是想顯示wulin_tmp.txt中有的值,而wulin_old.txt中沒有的值可以用如下語句
join -v1 wulin_tmp.txt wulin_old.txt
 
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章