Linux面試指令---join指令
阿新 • • 發佈:2018-12-17
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 命令一樣,只能用於排過序的資料。