這是一個jo b。對於join
:
$ join -a 1 -a 2 -e 0 -o '1.1 1.2 1.3 2.3' file1 file2
server1 monthly 25 5
server2 monthly 24 4
server3 daily 21 1
server4 weekly 7 2
server5 weekly 7 0
管到column -t
一個很好的格式化的表格:
$ join -a 1 -a 2 -e 0 -o '1.1 1.2 1.3 2.3' file file2 | column -t
server1 monthly 25 5
server2 monthly 24 4
server3 daily 21 1
server4 weekly 7 2
server5 weekly 7 0
使用重定向操作符,這個存儲到的newfile:
$ join -a 1 -a 2 -e 0 -o '1.1 1.2 1.3 2.3' file file2 | column -t > newfile
說明:
-a print unpairable lines from file FILENUM, where FILENUM is
1 or 2, corresponding to FILE1 or FILE2
-e EMPTY replace missing input fields with EMPTY
-o FORMAT obey FORMAT while constructing output line
-a
用於顯示線,如在file1
server 5..
其中沒有這樣的線在file2
-e 0
發現替換0
和-o
任何空字段用於格式化輸出,其中1.1
裝置file1 field 1
和1.3
裝置file1 field 3
等。
注:join
確實需要進行排序文件第一(他們已經在這種情況下)所以往往與使用sort
命令的組合。
server1的\t月25 server2的\t月24 server3的每日21 服務器4每週7 服務器5每週7 server1的\t每月5 server2的\t每月4 server3的每日1 服務器4每週2 server1的\t每月25 5 server2 \t每月24 4 server3每天21 1 server4每週7 2 server5每週7 0 – user1899817