1. 程式人生 > >Linux面試指令---join指令

Linux面試指令---join指令

join 命令

       join 命令類似於 paste,它會往檔案中新增列,但是它使用了獨特的方法來完成。一個 join 操作通常與關係型資料庫有關聯,在關係型資料庫中來自多個享有共同關鍵域的表格的資料結合起來,得到一個期望的結果。這個 join 命令執行相同的操作,它把來自於多個基於共享關鍵域的檔案的資料結合起來。

        通俗地說,就是將兩個檔案中指定欄位相同的行連線起來,即按照兩個檔案中共同擁有的某一列,將對應的行拼接成一行。

(1)命令格式

         join [選項] 檔案 1 檔案 2

(2)常用引數

引數 描述
-j FIELD 等同於 -1 FIELD -2 FIELD,-j 指定一個域作為匹配欄位
-1 FIELD 以 file1 中 FIELD 欄位進行匹配
-2 FIELD 以 file2 中 FIELD 欄位進行匹配
-t 自定義分隔符,預設為製表符

(3)常用範例

         例一:將兩個檔案中的第一個欄位作為匹配欄位,連線兩個檔案,可以使用如下命令:

join  a.txt  b.txt

        例二:指定兩個檔案的第三個欄位為匹配欄位,連線兩個檔案,可以使用如下命令:

join  -1 3 -2 3 c.txt d.txt

      從上面的結果可以看到,一開始對 a.txt 和 b.txt 檔案內容執行 join 命令時報錯,這是因為 join 命令跟 uniq 命令一樣,只能用於排過序的資料。