join命令可以將多個檔案連線在一起,每個檔案裡的每條記錄,都共享乙個鍵值,鍵值指的是記錄中的主欄位,通常會是使用者名稱,員工編號之類的資料,舉例來說,有兩個檔案,乙個列出所有業務員銷售業績,乙個列出每個業務員應實現的業績:
> cat sales
#業務員資料
#業務員 量
joe 100
jane 200
herman 150
chris 300
>cat quotas
#配額#業務員 配額
joe 50
jane 75
herman 80
chris 95
每條記錄都有兩個字段:業務員的名字與相對應得量,為了讓join運作得到正確結果,輸入檔案必須先完成排序,如下面的指令碼lianjie.sh即為使用join結合兩個檔案。
>cat lianjie.sh
#!/bin/bash
sed '/^#/d' quotas | sort > quotas.sorted
sed '/^#/d' sales | sort > sales.sorted
join quotas.sorted sales.sorted
rm quotas.sorted sales.sorted
首先使用sed刪除注釋,然後再排序個別檔案。排序後的快取檔案成為join命令的輸入資料,最後刪除快取檔案。
執行後的結果如下:
>./lianjie.sh
chris 95 300
herman 80 150
jane 75 200
joe 50 100
將兩個檔案的內容連線在一起輸出。
連線兩個檔案的資料字段 join命令
連線兩個檔案的資料字段。join a filenumber v filenumber e string o list t character 1 field 2 field file1file2 join 命令讀取由 file1 和 file2 引數指定的檔案,根據標誌連線檔案中的行,並且把結果寫到...
Hive的連線 join 方案
一 common join reduce side join shuffle join 這三種其實都是一種連線方案 即在reduce端做join操作。一般情況下,如果不手動指定mapjoin或者不滿足mapjoin的條件,一般hive解析器會將join操作轉換成reducejoin.他會經歷完整的m...
Linq中的連線 join
linq中連線主要有組連線 內連線 左外連線 交叉連線四種。各個用法如下。1 組連線 組連線是與分組查詢是一樣的。即根據分組得到結果。如下例,根據publisther分組得到結果。使用組連線的查詢語句如下 使用組連線 var groupquery from publisher in sampleda...