是否有一個簡單的unix命令集,我可以使用它將兩個列表分成三個列表,這兩個列表由兩個列表之間的共同線組成,第一個列是唯一的行,最後一列是唯一的列?這些清單將是未排序的,每一行都是唯一的。Unix命令將兩個列表分隔爲三個:兩者之間通用,每個都獨有?
例如: 表1: 貓 帽子 箱
表2: 箱 狗 岩石
輸出:框,貓帽子,狗岩石
是否有一個簡單的unix命令集,我可以使用它將兩個列表分成三個列表,這兩個列表由兩個列表之間的共同線組成,第一個列是唯一的行,最後一列是唯一的列?這些清單將是未排序的,每一行都是唯一的。Unix命令將兩個列表分隔爲三個:兩者之間通用,每個都獨有?
例如: 表1: 貓 帽子 箱
表2: 箱 狗 岩石
輸出:框,貓帽子,狗岩石
cat file1
box
cat
hat
cat file2
box
dog
rock
comm file1 file
box
cat
dog
hat
rock
輸出是基於列的,列僅在第一個文件中是數據,第二列是僅在第二個文件中的數據,第三列是兩者共同的值。
請注意,數據排序爲。
如果你正在使用bash,你可以做這樣的事情
comm <(sort file1) <(sort file2)
到即暫時對文件進行排序。
通過參數傳遞給comm
像-1 -2
你可以禁止1 and 2
列的輸出,當然-3
的本身就elimate第3列(在常見的單詞),只留下話並不常見。
我希望這會有所幫助。
如果您需要將結果恢復爲原始順序,請爲每個標記添加一個後綴,如cat:2 hat:2 box:3。 – tripleee 2012-02-08 18:38:14
差異將是一個好的開始。 – 2012-02-08 17:56:53