我想使用通信來計算兩個排序文件之間的差異,但結果沒有意義,有什麼不對?我想表明,存在於test2的,但不是test1的字符串,然後表明存在test1的字符串而不是test2的使用通信來比較兩個文件
>test1 a b d g >test2 e g k p >comm test1 test2 a b d e g g k p
我想使用通信來計算兩個排序文件之間的差異,但結果沒有意義,有什麼不對?我想表明,存在於test2的,但不是test1的字符串,然後表明存在test1的字符串而不是test2的使用通信來比較兩個文件
>test1 a b d g >test2 e g k p >comm test1 test2 a b d e g g k p
爲了表明存在於test2
但不是在test1
線,寫任一這些:
comm -13 test1 test2
comm -23 test2 test1
(-1
與存在僅在第一文件中的行隱藏柱; -2
隱藏用線列存在僅在第二文件中;隱藏-3
與存在於兩個文件系列)
並且,反之亦然,以顯示存在於test1
線而不是在test2
。
注意對自身一行g
被認爲是區別於g
與後一個空間,這就是爲什麼你會得到
g
g
,而不是
g
共同的末尾添加字符2檔之間,說「Z」 。你會看到第三列出現,表明這個值對兩者都是通用的。
輸出用於顯示'col1中的數據是uniq到file1',而'col2中的數據對file2是唯一的'。
最後,comm'-1,-2,-3'的參數表示抑制來自所提供的列編號的輸出,例如-1。
我希望這會有所幫助。
@shelter:g是常見字符,無論如何,必須有一些隱藏字符在文件中搞砸了comm,我用相同的字母重寫了文件,現在結果是正確的。 – user121196 2011-12-22 01:06:47
@ user121196:是的,對不起,我錯過了那個細節,在閱讀你的文章時我沒有戴上眼鏡。很高興你有一個解決方案。祝你好運。 – shellter 2011-12-22 01:21:31
很好的發現,追蹤空間。 – sarnold 2011-12-22 01:12:15