歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux基礎 >> 關於Linux >> linux比較文件輸出不同的內容

linux比較文件輸出不同的內容

日期:2017/3/1 14:50:39   编辑:關於Linux
linux比較文件輸出不同的內容 目前據我所了解的有如下幾種方法,來比較兩個文件的行,以輸出他們的不同之處: 1) comm mission: comm [-123] file1 file2 [> sfile] NOTE: file1,file2 must be firstly sorted ! -1/2/3 means: -1 ----- rid the only retained contents in file1 -2 ----- rid the only retained contents in file2 -3 ----- rid the communal lines in both two files 正如,上面說的那樣,comm命令運用的前提是針對兩個sorted文件! 該命令是對兩個已經排好序的文件進行比較。其中file1和file2是已排序的文件。comm讀取這兩個文件,然後生成三列輸出:僅在file1中出現的行;僅在file2中出現的行;在兩個文件中都存在的行。如果文件名用“- ”,則表示從標准輸入讀取。   選項1、2或3抑制相應的列顯示。例如comm - 12就只顯示在兩個文件中都存在的行;comm - 23只顯示在第一個文件中出現而未在第二個文件中出現的行;comm - 123則什麼也不顯示。 2) grep mission: grep -v -f file1 file2   /*注::此法在對比數字時候比較湊效果,文本對比不建議使用*/ 3) awk mission: awk '{print NR,$0}' file1 file2 |sort -k2|uniq -u -f 1|sort -k1|awk '{print $2}'   或者:   awk '{print $0}' file1 file2 |sort|uniq -u 4) diff mission: diff [-opt] file1 file2
Copyright © Linux教程網 All Rights Reserved