Linux join命令

Linux 命令大全

Linux join命令用于將兩個文件中,指定欄位內(nèi)容相同的行連接起來。

找出兩個文件中,指定欄位內(nèi)容相同的行,并加以合并,再輸出到標準輸出設備。

語法

join [-i][-a<1或2>][-e<字符串>][-o<格式>][-t<字符>][-v<1或2>][-1<欄位>][-2<欄位>][--help][--version][文件1][文件2]

參數(shù)

  • -a<1或2>   除了顯示原來的輸出內(nèi)容之外,還顯示指令文件中沒有相同欄位的行。

  • -e<字符串>   若[文件1]與[文件2]中找不到指定的欄位,則在輸出中填入選項中的字符串。

  • -i或--igore-case   比較欄位內(nèi)容時,忽略大小寫的差異。

  • -o<格式>   按照指定的格式來顯示結果。

  • -t<字符>   使用欄位的分隔字符。

  • -v<1或2>   跟-a相同,但是只顯示文件中沒有相同欄位的行。

  • -1<欄位>   連接[文件1]指定的欄位。

  • -2<欄位>   連接[文件2]指定的欄位。

  • --help   顯示幫助。

  • --version   顯示版本信息。

在線示例

連接兩個文件。

為了清楚地了解join命令,首先通過cat命令顯示文件testfile_1和 testfile_2 的內(nèi)容。

然后以默認的方式比較兩個文件,將兩個文件中指定字段的內(nèi)容相同的行連接起來,在終端中輸入命令:

join testfile_1 testfile_2

首先查看testfile_1、testfile_2 中的文件內(nèi)容:

$ cat testfile_1 #testfile_1文件中的內(nèi)容  
Hello 95 #例如,本示例中第一列為姓名,第二列為數(shù)額  
Linux 85  
test 30  
cmd@hdd-desktop:~$ cat testfile_2 #testfile_2文件中的內(nèi)容  
Hello 2005 #例如,本示例中第一列為姓名,第二列為年份  
Linux 2009  
test 2006

然后使用join命令,將兩個文件連接,結果如下:

$ join testfile_1 testfile_2 #連接testfile_1、testfile_2中的內(nèi)容  
Hello 95 2005 #連接后顯示的內(nèi)容  
Linux 85 2009  
test 30 2006

文件1與文件2的位置對輸出到標準輸出的結果是有影響的。例如將命令中的兩個文件互換,即輸入如下命令:

join testfile_2 testfile_1

最終在標準輸出的輸出結果將發(fā)生變化,如下所示:

$ join testfile_2 testfile_1 #改變文件順序連接兩個文件  
Hello 2005 95 #連接后顯示的內(nèi)容  
Linux 2009 85  
test 2006 30

Linux 命令大全

丰满人妻一级特黄a大片,午夜无码免费福利一级,欧美亚洲精品在线,国产婷婷成人久久Av免费高清