溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點(diǎn)擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

linux中如何使用join命令

發(fā)布時(shí)間:2022-02-18 13:39:29 來源:億速云 閱讀:203 作者:小新 欄目:開發(fā)技術(shù)

這篇文章主要為大家展示了“l(fā)inux中如何使用join命令”,內(nèi)容簡而易懂,條理清晰,希望能夠幫助大家解決疑惑,下面讓小編帶領(lǐng)大家一起研究并學(xué)習(xí)一下“l(fā)inux中如何使用join命令”這篇文章吧。

Linux join命令用于將兩個(gè)文件中,指定欄位內(nèi)容相同的行連接起來,找出兩個(gè)文件中,指定欄位內(nèi)容相同的行,并加以合并,再輸出到標(biāo)準(zhǔn)輸出設(shè)備。

linux中如何使用join命令

1.命令簡介

‎將兩個(gè)文件按照指定的相同字段進(jìn)行笛卡爾乘積橫向拼接,并輸出到標(biāo)準(zhǔn)輸出。 默認(rèn)情況下,join 字段分隔符是空格或 Tab。 join 時(shí),兩個(gè)文件需要按照某個(gè)字段排好序。‎

‎笛卡爾乘積指兩個(gè)集合 X 和 Y 成員相互組合構(gòu)成的有序?qū)Φ募稀?比如集合 X={a,b},Y={0,1,2},則‎

X×Y={(a, 0), (a, 1), (a, 2), (b, 0), (b, 1), (b, 2)}
Y×X={(0, a), (0, b), (1, a), (1, b), (2, a), (2, b)}

2.命令格式

join [OPTIONS] FILE1 FILE2 當(dāng) FILE1 或 FILE2 是連字符 -(二者不能同時(shí)是 -),那么內(nèi)容從標(biāo)準(zhǔn)輸入讀取。

3.選項(xiàng)說明

-a FILENUM
除了顯示原來的輸出內(nèi)容之外,還顯示文件中沒有相同欄位的行。FILENUM 取值為 1 或 2,分別對應(yīng) FILE1 和 FILE2
-e EMPTY
若 FILE1 與 FILE2 中找不到指定的列,則在輸出中填入選項(xiàng)中的字符串
-i, --igore-case
比較列內(nèi)容時(shí),忽略大小寫
-j FIELD
等價(jià)于 -1 FIELD -2 FIELD
-o FORMAT
按照指定的格式顯示結(jié)果
-t CHAR
指定輸入和輸出列的分隔字符
-v FILENUM
作用類似于 -a FILENUM,但是只顯示文件中沒有相同列的行
-1 FIELD
連接 FILE1 指定的列。FIELD 取 1 表示第一列,2 表示第二列,以此類推
-2 FIELD
連接 FILE2 指定的列。FIELD 取 1 表示第一列,2 表示第二列,以此類推
--check-order
默認(rèn)選項(xiàng),檢查文件是否已經(jīng)排序
--nocheck-order
不檢查檢查文件是否已經(jīng)排序
--help顯示幫助信息并退出
--version
顯示版本信息并退出

4.常用示例

‎(1)連接兩個(gè)文件,默認(rèn)以第一列作為連接字段。 ‎

# file1 內(nèi)容如下lvlv dablelv 25
zhangsan San 12# file2 內(nèi)容如下lvlv english 15
lvlv math 75
zhangsan math 14
zhouxun english 45

join file1 file2
lvlv dablelv 25 english 15
lvlv dablelv 25 math 75
zhangsan San 12 math 14

‎(2)還是以上面的兩個(gè)文件為例,顯示指明按照第一列中文名進(jìn)行連接。 ‎

join -j 1 file1 file2# 或join -1 1 -2 1 file1 file2

‎(3)如果想顯示沒有相同字段的行,使用 -a1 或 -a2 指定顯示第一個(gè)或者第二個(gè)文件的行。 ‎

join -a2 file1 file2
lvlv dablelv 25 english 15
lvlv dablelv 25 math 75
zhangsan San 12 math 14
zhouxun english 45    //顯示了文件 file2 中未匹配的一行

以上是“l(fā)inux中如何使用join命令”這篇文章的所有內(nèi)容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內(nèi)容對大家有所幫助,如果還想學(xué)習(xí)更多知識,歡迎關(guān)注億速云行業(yè)資訊頻道!

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI