join

兩個文件中指定欄位內容相同的行連接起來

補充說明

join命令 用來將兩個文件中,制定欄位內容相同的行連接起來。找出兩個文件中,指定欄位內容相同的行,並加以合併,再輸出到標準輸出設備。

語法

1join(選項)(參數)

選項

1-a<1或2>:除了顯示原來的輸出內容之外,還顯示指令文件中沒有相同欄位的行;
2-e<字符串>:若[文件1][文件2]中找不到指定的欄位,則在輸出中填入選項中的字符串;
3-i或--ignore-case:比較欄位內容時,忽略大小寫的差異;
4-o<格式>:按照指定的格式來顯示結果;
5-t<字符>:使用欄位的分割字符;
6-v<1或2>:更-a相同,但是隻顯示文件中沒有相同欄位的行;
7-1<欄位>:連接[文件1]指定的欄位;
8-2<欄位>:連接[文件2]指定的欄位。

參數

  • 文件1:要進行合併操作的第1個文件參數;
  • 文件2:要進行合併操作的第2個文件參數。

常見用法

把兩個文件制定欄位內容相同的行連接起來:

 1[root@localhost ~]# cat name 
 21 xiaoming
 32 xiaowang
 43 xiaoliu
 5[root@localhost ~]# cat city 
 61 beijing  beijing
 72 hubei   wuhan 
 83 hunan   changsha
 9
10# city文件在後,則拼接在後,如果city文件在前,則name文件拼接在後。
11[root@localhost ~]# join  name  city 
121 xiaoming beijing beijing
132 xiaowang hubei wuhan 
143 xiaoliu hunan changsha

把兩個文件指定列拼接起來:

1# 把name文件的第2列和city文件的第3列拼接起來
2[root@localhost ~]# join -o 1.2 2.3 name  city 
3xiaoming beijing
4xiaowang wuhan
5xiaoliu changsha

來源:https://github.com/jaywcjlove/linux-command

最後修改於: Wednesday, January 31, 2024

相關文章:

翻譯: