Linux 下比较文件内容并相同部分、不同部分
生活随笔
收集整理的這篇文章主要介紹了
Linux 下比较文件内容并相同部分、不同部分
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
說明,是通過file2內容與file1做比較,最后列出file1與file2不同的部分!
一、準備兩個文件:
[root@kinggoo.com test1]# cat file1 a b c d e[root@kinggoo.com test1]# cat file2 c e二、比較方法:
方法一:grep 命令
[root@kinggoo.com test1]# grep -v -f file2 file1 a b d方法二:comm 命令
[root@kinggoo.com test1]# comm -23 file1 file2 a b d命令解釋:
comm
功能說明:比較兩個已排過序的文件。
語 法:comm [-123][–help][–version][第1個文件][第2個文件]
補充說明:
這項指令會一列列地比較兩個已排序文件的差異,并將其結果顯示出來,
如果沒有指定任何參數,則會把結果分成3行顯示:
第1行僅是在第1個文件中出現過的列,
第2行是僅在第2個文件中出現過的列,
第3行則是在第1與第2個文件里都出現過的列。
若給予的文件名稱為"-",則comm指令會從標準輸入設備讀取數據。
方法三:awk命令
打印出file1、file2文件,第一列為行數、第二列為兩文件內容 |然后按第二列排序|刪除重復行(sort -u也可以,但它會保留一個重復項)|在按第一列行數排序|打印出第二列 [root@kinggoo.com test1]# awk '{print NR,$0}' file1 file2 |sort -k2|uniq -u -f 1|sort -k1|awk '{print $2}'或者:
這個跟上面一樣,短的原因就是因為它不需要考慮上面的第一列,因為它一直沒打印過。
[root@kinggoo.com test1]# awk '{print $0}' file1 file2 |sort|uniq -u?
?
摘自:http://kinggoo.com/diffcommgrepawksortuniq.htm?utm_source=tuicool&utm_medium=referral
轉載于:https://www.cnblogs.com/pzzning/p/6218509.html
總結
以上是生活随笔為你收集整理的Linux 下比较文件内容并相同部分、不同部分的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: js处理时间的那些事
- 下一篇: 怎样解决楼房隔层噪音问题?