連線兩個檔案的資料字段。
join [ -a
filenumber| -v
filenumber] [ -e
string] [ -o
list] [ -t
character] [ -1
field][ -2
field]file1file2
join 命令讀取由 file1 和 file2 引數指定的檔案,根據標誌連線檔案中的行,並且把結果寫到標準輸出中。file1 和 file2 引數必須為文字檔案。file1 和 file2 都必須以 -b 欄位的整理順序排序,它們將按照此字段在呼叫 join 命令之前連線。
對於出現在兩個檔案中的每乙個相同連線字段,在輸出中只出現一行。連線欄位是在輸入檔案中由 join 命令來確定包含在輸出檔案中的字段。輸出行包含連線字段、file1 引數指定的檔案的其餘行和由 file2 引數指定的檔案的其餘行。通過用 - (劃線)代替檔名,來指定標準輸入來代替 file1 或者 file2 引數。 兩個輸入檔案都不能帶 - (劃線)來指定。
字段通常由乙個空格、乙個製表符或換行符來分割。這樣,join 命令把連續的分隔符作為乙個並廢棄前導分隔符。
-1field
用由 file1 輸入檔案中的 field 變數指定的字段來連線兩個檔案。field 變數的值必須為乙個正的十進位制整數。
-2field
用由 file2 輸入檔案中的 field 變數指定的字段來連線兩個檔案。field 變數的值必須為乙個正的十進位制整數。
-afilenumber
給由 filenumber 變數指定的檔案的每一行產生乙個輸出行,此變數的連線欄位和其它的輸入檔案中的任何一行都不匹配。產生輸出行,除了預設輸出之外。filenumber 變數的值必須為 1 或 2,各自相應於由file1 和 file2 引數指定的檔案。如果這個標誌和 -v 標誌一起指定,則忽略該標誌。
-estring
用 string 變數指定的字串來代替空輸出字段。
-olist
構造乙個輸出行來包含由 list 變數指定的字段。適用於 list 變數的以下格式之一:
filenumber.field
其中 filenumber 是乙個檔案號,
field 是乙個十進位制整數欄位號。用
, (逗號)或空格字元來分割多個字段,並且前後用引號括起來。
0(零)
表示連線字段。
-o0 標誌本質上是選擇連線欄位的聯合。
-tcharacter
用由 character 引數指定的字元作為輸入和輸出的字段分隔符。在行上出現的每乙個字元都是有效數字。預設的分隔符是乙個空格。有了預設字段分割符,整理順序是 sort -b
命令的結果。如果指定了 -t,順序是乙個簡單的排序。指定了乙個製表符,把它包括在單引號中。
-vfilenumber
為由 filenumber 變數指定的檔案的每一行產生乙個輸出行,此變數的連線欄位和其他的輸入檔案的任何一行都不匹配。預設輸出是不產生。filenumber 變數的值必須為 1 或 2,各自相應於由 file1 和 file2 引數指定的檔案。如果此標誌和 -a 標誌一起指定,則忽略 -a 標誌。
此命令返回下列退出值:
0成功完成。
>0
發生乙個錯誤。
注:下面示例中顯示的垂直對齊的值或許會和您的輸出不一致。
要在第乙個字段相同的兩個檔案中執行乙個簡單的連線操作,請輸入:
joinphonedirnames如果 phonedir 檔案包含以下名稱:
adams a.555-6235並且 names 檔案包含這些名字和部門號:dickerson b.555-1842
erwin g.555-1234
jackson j.
erwin dept.389join 命令顯示:frost dept.217
nicholson dept.311
norwood dept.454
wrightdept.520
xandy dept.999
erwing.555-1234dept.389每一行包含了連線字段(最後乙個名字),後面跟著在 phonedir 檔案和 names 檔案中找到的其餘幾行。norwoodm.555-5341dept.454
wrightm. 555-1234dept.520
xandyg.555-5015dept.999
要用 join 命令顯示不匹配的行,請輸入:
join -a1phonedirnames
如果phonedir和 name 檔案是和示例 1 相同的,join 命令顯示:
erwing.555-1234 dept.389此命令執行了和示例 1 中相同的連線操作,並且列出了在 phonedir 檔案中行名字不匹配的行。名字 frost 和 nicholson 包括在列表中,即使它們在 phonedir 檔案中沒有項。frostdept.217
nicholsondept.311
norwoodm.555-5341 dept.454
wrightm. 555-1234 dept.520
xandyg.555-5015 dept.999
要用 join 命令來顯示選擇的字段,請輸入:
join -o2.3,2.1,1.2,1.3phonedirnames
按照所給出的順序顯示下列字段:
names 的字段 3
部門號names 的字段 1
姓phonedir 的字段 2
名字第乙個字母
phonedir 的字段 3
**號碼
如果phonedir 檔案和 names 檔案與示例 1 中的相同,則 join 命令顯示:
389erwing.555-1234要執行乙個非第乙個欄位的連線操作,請輸入:454norwoodm.555-5341
520wrightm. 555-1234
999xandyg.555-5015
sort+2-3phonedir|join-1 3-numbers
這個命令把 phonedir 和 numbers 檔案中的行連線起來,通過比較 phonedir 檔案的第三個欄位和 numbers 檔案的第乙個字段。 第一,這個命令通過第三個欄位來排序 phonedir 檔案,因為檔案必須通過它們的連線欄位來排序。然後 sort 命令的輸出傳送給 join 命令。-(劃線)自己使 join 命令把此輸出作為自己的第乙個檔案。-13 標誌把已排序的 phonedir 檔案的第三個字段作為連線字段。 這與 numbers 的第乙個欄位做比較,因為它的連線字段沒有指定用 -2 標誌。
如果numbers 檔案包含:
555-0256然後此命令顯示了列在 phonedir 檔案的名字或每個**號碼:555-1234
555-5555
555-7358
555-0256jacksonj.注意 join 命令命令列出了所給定的字段中的匹配項。在這種情況下,join 命令列出了 erwin g. 和 wright m.,因為有**號碼 555-1234。號碼 555-5555 沒有列出來,因為它沒有出現在 phonedir 檔案中。555-1234erwing.
555-1234wrightm.
/usr/bin/join
包含 join 命令。
/usr/lib/nls/loc/*.src
包含整理資訊。
連線兩個點雲的字段或資料形成新點雲
學習如何連線兩個不同點雲為乙個點雲,進行操作前要確保兩個資料集中欄位的型別相同和維度相等,同時了解如何連線兩個不同點雲的字段 例如顏色 法線 這種操作的強制約束條件是兩個資料集中點的數目必須一樣,例如 點雲a是n個點xyz點,點雲b是n個點的rgb點,則連線兩個字段形成點雲c是n個點xyzrgb型別...
Spring連線兩個以上的資料庫
通過spring的配置,新增多個資料來源,製作多個qlmapclient,ibatis或hibernate的各個dao,按其所需使用不同的qlmapclient,即可連線到多個db。用途嗎,同時使用oracle sqlserver db2 mysql,這樣的可能似乎不大。但是對於要從其他系統讀取資料...
練習join(連線兩個陣列),隨機數組的練習
自定義方法實現 對任意兩個陣列,連線為乙個陣列之後,然後再連線為乙個字串,返回。function join arr1,arr2 return arr1.join var arr1 1 2,3 var arr2 4 5,6 console.log join arr1,arr2 script 1 得到乙...