在线观看不卡亚洲电影_亚洲妓女99综合网_91青青青亚洲娱乐在线观看_日韩无码高清综合久久

鍍金池/ 教程/ Linux/ shell 學(xué)習(xí)第十五天----join 連接字段
shell 學(xué)習(xí)四十一天----列出文件 ls 和 od 命令
shell 學(xué)習(xí)小結(jié)
shell 學(xué)習(xí)第二十八天----case 語(yǔ)句
shell 學(xué)習(xí)四十四天----尋找文件
shell 學(xué)習(xí)三十五天----波浪號(hào)展開(kāi)與通配符
shell 學(xué)習(xí)三十八天----執(zhí)行順序和 eval
shell 學(xué)習(xí)四十八天----文件校驗(yàn)和匹配
shell 學(xué)習(xí)四十天----awk 的驚人表現(xiàn)
shell 學(xué)習(xí)第十一天----sed 正則的精確控制
shell 學(xué)習(xí)第十七天----awk 命令
shell 學(xué)習(xí)三十九天----內(nèi)建命令
shell 學(xué)習(xí)四十五天----xargs
shell 學(xué)習(xí)三十七天----引用
shell 學(xué)習(xí)第十六天----join 練習(xí)
shell 學(xué)習(xí)第二十四天----提取開(kāi)頭或結(jié)尾數(shù)行
shell 學(xué)習(xí)第九天----分組
shell 學(xué)習(xí)第五天----基本的 I/O 重定向
shell 學(xué)習(xí)第十五天----使用 cut 選定字段
shell 學(xué)習(xí)四十六天----文件系統(tǒng)的空間信息 df 和 du 命令
shell 學(xué)習(xí)第八天----擴(kuò)展正則表達(dá)式 (ERE)
shell 學(xué)習(xí)第十九天----文本塊排序
shell 學(xué)習(xí)第二十一天----重新格式化段落
shell 學(xué)習(xí)三十六天----命令替換
shell 學(xué)習(xí)第二十天----sort 的其他內(nèi)容以及 uniq 命令
shell 學(xué)習(xí)四十二天----使用 touch 更新文件時(shí)間
shell 學(xué)習(xí)五十一天----top 命令查看進(jìn)程列表
shell 學(xué)習(xí)第一天
shell 學(xué)習(xí)五十四天----進(jìn)程系統(tǒng)調(diào)用的追蹤 strace
shell 學(xué)習(xí)五十天----查看進(jìn)程 ps 命令
shell 學(xué)習(xí)第二十七天----退出狀態(tài)和 if 語(yǔ)句
shell 學(xué)習(xí)第二十三天----打印
shell 學(xué)習(xí)三十三天----關(guān)于重定向
shell 學(xué)習(xí)四十九天----進(jìn)程建立
shell 學(xué)習(xí)第三十天----break,continue,shift,getopts
shell 學(xué)習(xí)五十五天----進(jìn)程記賬
shell 學(xué)習(xí)總結(jié)一
shell 學(xué)習(xí)第二十六天----變量與算數(shù)
shell 學(xué)習(xí)第二十二天----計(jì)算行數(shù), 字?jǐn)?shù)以及字符數(shù)
shell 學(xué)習(xí)五十八天----/proc 文件系統(tǒng)
shell 學(xué)習(xí)第二十五天----神器的管道符
shell 學(xué)習(xí)第三十二天----read 讀取一行
sheel 學(xué)習(xí)第三天
shell 學(xué)習(xí)----小結(jié)
shell 學(xué)習(xí)第十八天----文本排序
shell 學(xué)習(xí)第三十一天----函數(shù)問(wèn)題
shell 學(xué)習(xí)第十天----sed 查找與替換
shell 學(xué)習(xí)四十三天----臨時(shí)性文件的建立與使用
shell 學(xué)習(xí)四十七天----文件比較 cmp,diff,patch
shell 學(xué)習(xí)三十四天----printf 詳解
shell 學(xué)習(xí)五十七天 ----linux 任務(wù)管理,針對(duì)上一講的總結(jié)和擴(kuò)展
shell 學(xué)習(xí)第六天----小結(jié)
shell 學(xué)習(xí)第十三天----sed 案例分析
shell 學(xué)習(xí)第七天----基礎(chǔ)正則表達(dá)式 (BRE)
shell 學(xué)習(xí)第十二天----行與字符串
shell 學(xué)習(xí)小結(jié)四
shell 學(xué)習(xí)第二十九天----循環(huán)
shell 學(xué)習(xí)五十二天----刪除進(jìn)程 kill 命令
shell 學(xué)習(xí)五十六天----延遲進(jìn)程調(diào)度
shell 學(xué)習(xí)第四天----華麗的 printf 輸出
shell 學(xué)習(xí)第十五天----join 連接字段
shell 學(xué)習(xí)完結(jié)篇----希望你能看到
shell 學(xué)習(xí)第二天
shell 學(xué)習(xí)五十三天----捕獲信號(hào) trap

shell 學(xué)習(xí)第十五天----join 連接字段

使用 join 連接字段

join 命令將多個(gè)文件結(jié)合起來(lái),每個(gè)人建立的每條記錄,都共享一個(gè)鍵值,鍵值指的是記錄中的珠子段,通常會(huì)是用戶名稱,個(gè)人形式,員工編號(hào)之類的數(shù)據(jù)。

語(yǔ)法:

join [options...] file1 file2

主要選項(xiàng)

  • -1 field1
  • -2 field2
    標(biāo)明要結(jié)合的字段。 -1 field 指的是從 file1 取出 field1,而 -2field2 指的則為從 file2 取出 field2。 字段編號(hào)自 1 開(kāi)始,而非 0。
  • -o file.field
    輸出 file 文件中的 field 字段。 一般的字段則不打印。 除非使用多個(gè) -o 選項(xiàng),即可顯示多個(gè)輸出字段。
  • -t separator
    使用 separator 作為輸入字段分割字符,而非使用空白。 次字符也為輸出的字段分割字符。

行為模式

讀取 file1 與 file2,并根據(jù)共同鍵值結(jié)合多筆記錄。默認(rèn)以空白分隔字段。輸出結(jié)果則包括共同鍵值,來(lái)自 file1 的其余記錄,接著 file2 的其余記錄 (指除了鍵值外的記錄)。若 file1 位 -,則 join 會(huì)讀取標(biāo)準(zhǔn)輸入,每個(gè)文件的第一個(gè)字段是用來(lái)結(jié)合的默認(rèn)鍵值; 可以使用 -1 與 -2 更改鍵值。默認(rèn)情況下,在兩個(gè)文件中未含鍵值的行將不打印。

Linux join 命令用于將兩個(gè)文件中,指定欄位內(nèi)容相同的行連接起來(lái)。

找出兩個(gè)文件中,指定欄位內(nèi)容相同的行,并加以合并,再輸出到標(biāo)準(zhǔn)輸出設(shè)備。

例如:

我有兩個(gè)文件: 文件 aa 和文件 bb

aa 的內(nèi)容為:

joe 100  
jane 200  
herman 300  
chris 400

bb 的內(nèi)容為:

joe 20  
jane  10  
herman 30  
chris 98  

每條記錄都有兩個(gè)字段:業(yè)務(wù)員的名字和銷售量。為了讓 join 運(yùn)行得到正確結(jié)果,輸入文件必須先完成排序.

編寫下列腳本:

\#!/bin/sh
\#jointest.sh
\#刪除注釋并排序數(shù)據(jù)文件
sed ‘/^#/d’ aa | sort > aa.sorted
sed ‘/^#/d’ bb | sort > bb.sorted
\#以第一個(gè)鍵值做結(jié)合,將結(jié)果產(chǎn)生至標(biāo)準(zhǔn)輸出
join aa.sorted bb.sorted
\#刪除緩存文件
rm aa.sorted bb.sorted
保存退出
chmod +x jointest.sh
./jointest.sh

輸出結(jié)果如下所示:

chris 400 98  
herman 300 30  
jane 200 10  
joe 100 20  

首先使用 sed 刪除注釋,然后再排序個(gè)別文件。排序后的緩存緩存文件稱為 join 命令的輸入數(shù)據(jù),最后刪除緩存文件.sed 的刪除還記得嗎?

sed '/^#/d' bb

這里的意思是說(shuō)把 bb 文件里以#開(kāi)頭的行刪除