您好,登錄后才能下訂單哦!
這篇文章主要介紹了使用linux的join命令連接兩個(gè)文件,具有一定借鑒價(jià)值,需要的朋友可以參考下。下面就和我一起來看看吧。
join的連接操作簡(jiǎn)言之就是將兩個(gè)具有相同域的紀(jì)錄給挑選出來,再將這些紀(jì)錄所有的域放到一行。
注意:join在對(duì)兩個(gè)文件進(jìn)行連接時(shí),兩個(gè)文件必須都是按照連接域排好序的,按其他域排序是無效的。
語法格式:join [參數(shù)] [文件1] [文件2]
常用參數(shù):
-a1或-a2 | 除了顯示共同域的紀(jì)錄之外,-a1顯示第一個(gè)文件沒有共同域的紀(jì)錄,-a2顯示第二個(gè)文件中沒有共同域的紀(jì)錄 |
-i | 忽略大小寫 |
-o | 設(shè)置結(jié)果顯示的格式 |
-t | 改變域的分隔符 |
-v1或-v2 | 不顯示共同域的紀(jì)錄之外,-v1顯示第一個(gè)文件沒有共同域的紀(jì)錄,-v2顯示第二個(gè)文件中沒有共同域的紀(jì)錄 |
-1或-2 | -1用來設(shè)置文件1連接的域,-2用來設(shè)置文件2連接的域 |
參考實(shí)例
將兩個(gè)文件的具有共同域的紀(jì)錄連接在一起:
[root@linuxcool ~]# cat file.db
A li:20:men:anhui
B wang:21:women:jiangsu
C zhang:22:men:anhui
D liu:23:women:Shanghai
E chen:23:women:Hefei
[root@linuxcool ~]# cat file_hobby.db
A li:Song
B wang:shopping
C zhang:pingpong
D liu:chess
E Wang:reading
[root@linuxcool ~]# join -t: file.db file_hobby.db
A li:20:men:anhui:Song
B wang:21:women:jiangsu:shopping
C zhang:22:men:anhui:pingpong
D liu:23:women:Shanghai:chess
-a1還顯示第一個(gè)文件中沒有共同域的紀(jì)錄,-a2則顯示第二個(gè):
[root@linuxcool ~]# join -t: -a1 file.db file_hobby.db
A li:20:men:anhui:Song
B wang:21:women:jiangsu:shopping
C zhang:22:men:anhui:pingpong
D liu:23:women:Shanghai:chess
E chen:23:women:Hefei
[root@linuxcool ~]# join -t: -a2 file.db file_hobby.db
A li:20:men:anhui:Song
B wang:21:women:jiangsu:shopping
C zhang:22:men:anhui:pingpong
D liu:23:women:Shanghai:chess
E Wang:reading
設(shè)置指定格式的域來顯示出來(將具有共同紀(jì)錄的域按照姓名+性別+愛好的格式顯示出來):
[root@linuxcool ~]# join -t: -o1.1 1.3 2.2 file.db file_hobby.db
A li:men:Song
B wang:women:shopping
C zhang:men:pingpong
D liu:women:chess
以上就是使用linux的join命令連接兩個(gè)文件的詳細(xì)內(nèi)容了,看完之后是否有所收獲呢?如果想了解更多相關(guān)內(nèi)容,歡迎來億速云行業(yè)資訊!
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。