測試文字內容
# cat -n name1.txt 1 name1 alvin1 2 name2 alvin2 3 name3 alvin3 4 name4 alvin4 # cat -n name2.txt 1 name1 100 2 name2 101 3 name3 102 4 cccccccccccccccc
(1) join
顯示匹配的行,並將值合併(ccc和name4不匹配所以不顯示) # join name1.txt name2.txt name1 alvin1 100 name2 alvin2 101 name3 alvin3 102
(2) -a
用第1個檔案的內容去匹配,若匹配則顯示匹配的行,併合並其值;不匹配的行也顯示,但其值為空 # join -a1 name1.txt name2.txt name1 alvin1 100 name2 alvin2 101 name3 alvin3 102 name4 alvin4
用第2個檔案的內容去匹配,若匹配則顯示匹配的行,併合並其值;不匹配的行也顯示,但其值為空 # join -a2 name1.txt name2.txt name1 alvin1 100 name2 alvin2 101 name3 alvin3 102 cccccccccccccccc
兩個檔案同時匹配,若匹配則顯示匹配的行,併合並其值;同時將所有不匹配的行也都顯示出來 # join -a1 name1.txt -a2 name2.txt name1 alvin1 100 name2 alvin2 101 name3 alvin3 102 cccccccccccccccc name4 alvin4
(3) -o
對於匹配的行,輸出"第1個檔案的第2部分,第2個檔案的第2部分"的部分, # join -o 1.2 2.2 name1.txt name2.txt alvin1 100 alvin2 101 alvin3 102
# join -o 1.1 2.1 name1.txt name2.txt name1 name1 name2 name2 name3 name3