最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Linux join命令的使用及說(shuō)明

 更新時(shí)間:2025年11月11日 15:16:39   作者:fengyehongWorld  
`join`命令用于在Linux中按字段將兩個(gè)文件進(jìn)行連接,類似于SQL的JOIN,它需要兩個(gè)文件按用于匹配的字段排序,并且第一個(gè)文件的換行符必須是LF,`join`命令支持多種參數(shù),如指定連接鍵、字段分隔符、輸出格式、空字段填充值、忽略大小寫、輸出未匹配行等

一. 基本語(yǔ)法

join 是 Linux 中用于按字段將兩個(gè)文件進(jìn)行連接的命令,功能類似 SQL 的 JOIN。

  • 要求兩個(gè)文件按 用于匹配的字段排序好,一定要排序,否則無(wú)法正確join
  • 要求用于join的第一個(gè)文件的換行符是LF,一定不能是CRLF,否則無(wú)法正確匹配
參數(shù)說(shuō)明
-1 N指定 file1 用第 N 字段作為連接鍵
-2 N指定 file2 用第 N 字段作為連接鍵
-t CHAR設(shè)置字段分隔符(如 -t , 表示用逗號(hào))
-o FORMAT指定輸出字段的格式,例如:-o 0 1.2 2.3
-a 1輸出 file1 中所有行(即使沒(méi)有匹配),相當(dāng)于 LEFT OUTER JOIN
-a 2輸出 file2 中所有行(即使沒(méi)有匹配),相當(dāng)于 RIGHT OUTER JOIN
-a 1 -a 2輸出所有行(匹配和未匹配),相當(dāng)于 FULL OUTER JOIN
-e STRING指定空字段填充值,用于 -a 顯示未匹配時(shí)
-i忽略大小寫(等價(jià)于 --ignore-case)
-v 1僅顯示 file1 中未匹配的行
-v 2僅顯示 file2 中未匹配的行

二. 數(shù)據(jù)準(zhǔn)備

apluser@FengYeHong-HP:0725$ cat students1.txt
101 Alice
102 Bob
103 Carol
apluser@FengYeHong-HP:0725$ cat scores1.txt
101 80
102 90
104 95
apluser@FengYeHong-HP:0725$ cat students2.txt
101,Alice
102,Bob
103,Carol
apluser@FengYeHong-HP:0725$ cat scores2.txt
Alice,80
Bob,90
fengyehong,95

三. 指定文件的連接key

‘默認(rèn)情況下使用文件的第1列進(jìn)行join

apluser@FengYeHong-HP:0725$ join students1.txt scores1.txt
101 Alice 80
102 Bob 90
  • 1 1 -2 1:指定第1個(gè)文件的第1列和第2個(gè)文件的第1列作為join的key
  • -t, -1 2 -2 1
    • -t, :默認(rèn)情況下使用空格作為列之間的分隔符,通過(guò)-t手動(dòng)指定分隔符為逗號(hào)
    • -1 2 -2 1:指定第1個(gè)文件的第2列和第2個(gè)文件的第1列作為join的key
apluser@FengYeHong-HP:0725$ join -1 1 -2 1 students1.txt scores1.txt
101 Alice 80
102 Bob 90
apluser@FengYeHong-HP:0725$ join -t, -1 2 -2 1 students2.txt scores2.txt
Alice,101,80
Bob,102,90

四.-a輸出指定文件的所有行

  • -a 1:輸出第1個(gè)文件的所有行,相當(dāng)于左連接
  • -a 2:輸出第2個(gè)文件的所有行,相當(dāng)于右連接
apluser@FengYeHong-HP:0725$ join -a 1 students1.txt scores1.txt
101 Alice 80
102 Bob 90
103 Carol
apluser@FengYeHong-HP:0725$ join -a 2 students1.txt scores1.txt
101 Alice 80
102 Bob 90
104 95
  • -a 1 -a 2:輸出所有行
apluser@FengYeHong-HP:0725$ join -a 1 -a 2 students1.txt scores1.txt
101 Alice 80
102 Bob 90
103 Carol
104 95

五.-o指定輸出的字段

  • -o 1.2 2.2 2.3
    • 輸出第1個(gè)文件的第2個(gè)字段
    • 輸出第2個(gè)文件的第2個(gè)和第3個(gè)字段
apluser@FengYeHong-HP:0725$ cat address1.txt
101 地球 火星
102 水星 金星
104 木星 土星
apluser@FengYeHong-HP:0725$ join students1.txt address1.txt
101 Alice 地球 火星
102 Bob 水星 金星

apluser@FengYeHong-HP:0725$ join -o 1.2 2.2 2.3 students1.txt address1.txt
Alice 地球 火星
Bob 水星 金星
apluser@FengYeHong-HP:0725$ join -o 1.2,2.2,2.3 students1.txt address1.txt
Alice 地球 火星
Bob 水星 金星

六.-v指定輸出未匹配的行

  • 輸出第1個(gè)和第2個(gè)文件中未匹配的內(nèi)容
apluser@FengYeHong-HP:0725$ join -v 1 students1.txt address1.txt
103 Carol
apluser@FengYeHong-HP:0725$ join -v 2 students1.txt address1.txt
104 木星 土星
  • 輸出第1個(gè)和第2個(gè)文件中未匹配的內(nèi)容
apluser@FengYeHong-HP:0725$ join -v 1 -v 2 students1.txt address1.txt
103 Carol
104 木星 土星

總結(jié)

以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • Linux 6下安裝編譯安裝Nginx的步驟

    Linux 6下安裝編譯安裝Nginx的步驟

    這篇文章主要介紹了Linux 6下安裝編譯安裝Nginx的步驟的相關(guān)資料,希望通過(guò)本文能幫助到大家,需要的朋友可以參考下
    2017-10-10
  • Linux環(huán)境下Apache開啟https服務(wù)的方法詳解

    Linux環(huán)境下Apache開啟https服務(wù)的方法詳解

    這篇文章主要介紹了Linux環(huán)境下Apache開啟https服務(wù)的方法,結(jié)合實(shí)例形式分析了阿里云環(huán)境下獲取SSL證書及Apache服務(wù)器安裝、開啟SSL的相關(guān)操作技巧,需要的朋友可以參考下
    2019-07-07
  • xampp安裝后apache 80端口被占用的解決方法

    xampp安裝后apache 80端口被占用的解決方法

    這篇文章主要介紹了xampp安裝后apache 80端口被占用的解決方法,大家參考使用吧
    2013-12-12
  • Apache上部署Django步驟詳細(xì)介紹

    Apache上部署Django步驟詳細(xì)介紹

    這篇文章主要介紹了Apache上部署Django步驟詳細(xì)介紹的相關(guān)資料,需要的朋友可以參考下
    2017-02-02
  • Linux根分區(qū)爆滿(占用81%)排查與解決方案

    Linux根分區(qū)爆滿(占用81%)排查與解決方案

    在Linux服務(wù)器運(yùn)維過(guò)程中,根分區(qū)爆滿是非常常見(jiàn)的緊急故障,若不及時(shí)處理,會(huì)導(dǎo)致服務(wù)器無(wú)法正常運(yùn)行、服務(wù)卡頓甚至崩潰,因此本文記錄了一次CentOS服務(wù)器根分區(qū)占用81%的排查與解決過(guò)程,需要的朋友可以參考下
    2026-04-04
  • Linux INotif機(jī)制詳解及實(shí)例代碼

    Linux INotif機(jī)制詳解及實(shí)例代碼

    這篇文章主要介紹了Linux INotif機(jī)制詳解及實(shí)例代碼的相關(guān)資料,需要的朋友可以參考下
    2017-01-01
  • Ubuntu服務(wù)器下搭建php運(yùn)行環(huán)境的方法

    Ubuntu服務(wù)器下搭建php運(yùn)行環(huán)境的方法

    這篇文章主要介紹了Ubuntu服務(wù)器下搭建php運(yùn)行環(huán)境的方法,簡(jiǎn)單分析了Ubuntu操作系統(tǒng)環(huán)境下搭建Apache、php及mysql模塊相關(guān)步驟、命令與操作技巧,需要的朋友可以參考下
    2018-04-04
  • Ubuntu bash:沒(méi)有那個(gè)文件或目錄問(wèn)題及解決

    Ubuntu bash:沒(méi)有那個(gè)文件或目錄問(wèn)題及解決

    在安裝交叉編譯環(huán)境時(shí),遇到提示沒(méi)有某個(gè)文件或目錄的問(wèn)題,盡管環(huán)境變量設(shè)置正確,后發(fā)現(xiàn)是由于缺少32位運(yùn)行庫(kù)lib32z1導(dǎo)致的,通過(guò)安裝lib32z1,問(wèn)題得到解決
    2026-01-01
  • Linux系統(tǒng)刪除文件夾和文件的命令

    Linux系統(tǒng)刪除文件夾和文件的命令

    筆者給大家介紹Linux系統(tǒng)刪除文件夾和文件的命令,很多朋友喜歡是rmdir命令來(lái)刪除文件,不過(guò)當(dāng)遇到目錄非空,就會(huì)麻煩,下面閱讀本文學(xué)習(xí)下linux刪除文件夾和文件的命令吧
    2018-02-02
  • Linux查看服務(wù)器開放和啟用的端口的方法步驟

    Linux查看服務(wù)器開放和啟用的端口的方法步驟

    本文介紹Linux查看開放端口的多種方法,包括ss、netstat、lsof、firewall-cmd、iptables及nmap,適用于監(jiān)聽(tīng)端口、防火墻規(guī)則檢查與端口掃描等場(chǎng)景,需要的朋友可以參考下
    2025-08-08

最新評(píng)論

霸州市| 广南县| 阜阳市| 弋阳县| 佛教| 诸暨市| 思茅市| 山阴县| 滕州市| 淮南市| 简阳市| 定兴县| 抚远县| 凌源市| 峨边| 元朗区| 咸阳市| 清河县| 布拖县| 桓台县| 如东县| 三明市| 鹤庆县| 通榆县| 托克逊县| 皋兰县| 德钦县| 乌拉特前旗| 柏乡县| 泗水县| 宣汉县| 密山市| 哈密市| 溧水县| 武鸣县| 大安市| 芜湖市| 高安市| 正宁县| 淮南市| 公主岭市|