Linux join命令詳解 Linux join命令怎麼用

來源:互聯網
上載者:User

找出兩個檔案中,指定欄位內容相同的行,並加以合并,再輸出到標準輸出裝置。

文法

join [-i][-a<1或2>][-e<字串>][-o<格式>][-t<字元>][-v<1或2>][-1<欄位>][-2<欄位>]

[--help][--version][檔案1][檔案2]

參數:

  • -a<1或2> 除了顯示原來的輸出內容之外,還顯示指令檔案中沒有相同欄位的行。
  • -e<字串> 若[檔案1]與[檔案2]中找不到指定的欄位,則在輸出中填入選項中的字串。
  • -i或--igore-case 比較欄位內容時,忽略大小寫差異。
  • -o<格式> 按照指定的格式來顯示結果。
  • -t<字元> 使用欄位的分隔字元。
  • -v<1或2> 跟-a相同,但是只顯示檔案中沒有相同欄位的行。
  • -1<欄位> 串連[檔案1]指定的欄位。
  • -2<欄位> 串連[檔案2]指定的欄位。
  • --help 顯示協助。
  • --version 顯示版本資訊。

執行個體

串連兩個檔案。

為了清楚地瞭解join命令,首先通過cat命令顯示檔案testfile_1和 testfile_2 的內容。

然後以預設的方式比較兩個檔案,將兩個檔案中指定欄位的內容相同的行串連起來,在終端中輸入命令:

join testfile_1 testfile_2

首先查看testfile_1、testfile_2 中的檔案內容:

$ cat testfile_1 #testfile_1檔案中的內容

Hello 95 #例如,本例中第一列為姓名,第二列為數額

Linux 85

test 30

cmd@hdd-desktop:~$ cat testfile_2 #testfile_2檔案中的內容

Hello 2005 #例如,本例中第一列為姓名,第二列為年份

Linux 2009

test 2006

然後使用join命令,將兩個檔案串連,結果如下:

$ join testfile_1 testfile_2 #串連testfile_1、testfile_2中的內容

Hello 95 2005 #串連後顯示的內容

Linux 85 2009

test 30 2006

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

join testfile_2 testfile_1

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

$ join testfile_2 testfile_1 #改變檔案順序串連兩個檔案

Hello 2005 95 #串連後顯示的內容

Linux 2009 85

test 2006 30

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.