使用join連線欄位的小指令碼示例

2021-09-21 08:02:03 字數 842 閱讀 5241

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...