Linux 下比较文件内容并相同部分、不同部分

发布时间:2017-5-30 1:03:43 编辑:www.fx114.net 分享查询网我要评论
本篇文章主要介绍了"Linux 下比较文件内容并相同部分、不同部分 ",主要涉及到Linux 下比较文件内容并相同部分、不同部分 方面的内容,对于Linux 下比较文件内容并相同部分、不同部分 感兴趣的同学可以参考一下。

说明,是通过file2内容与file1做比较,最后列出file1与file2不同的部分!

一、准备两个文件:

[[email protected] test1]# cat file1abcde[[email protected] test1]# cat file2ce

二、比较方法:

方法一:grep 命令

[[email protected] test1]# grep -v -f file2 file1abd

方法二:comm 命令

[[email protected] test1]# comm -23 file1 file2abd

命令解释:

comm

功能说明:比较两个已排过序的文件。
语 法:comm [-123][–help][–version][第1个文件][第2个文件]
补充说明:
这项指令会一列列地比较两个已排序文件的差异,并将其结果显示出来,

如果没有指定任何参数,则会把结果分成3行显示:
第1行仅是在第1个文件中出现过的列,
第2行是仅在第2个文件中出现过的列,
第3行则是在第1与第2个文件里都出现过的列。
若给予的文件名称为"-",则comm指令会从标准输入设备读取数据。

方法三:awk命令

打印出file1、file2文件,第一列为行数、第二列为两文件内容 |然后按第二列排序|删除重复行(sort -u也可以,但它会保留一个重复项)|在按第一列行数排序|打印出第二列
[[email protected] test1]# awk '{print NR,$0}' file1 file2 |sort -k2|uniq -u -f 1|sort -k1|awk '{print $2}'

或者:

这个跟上面一样,短的原因就是因为它不需要考虑上面的第一列,因为它一直没打印过。

[[email protected] test1]# awk '{print $0}' file1 file2 |sort|uniq -u

摘自:http://kinggoo.com/diffcommgrepawksortuniq.htm?utm_source=tuicool&utm_medium=referral


上一篇:Django模板与Vue.js冲突问题
下一篇:Spring Boot启动过程(二)

相关文章

相关评论

本站评论功能暂时取消,后续此功能例行通知。

一、不得利用本站危害国家安全、泄露国家秘密,不得侵犯国家社会集体的和公民的合法权益,不得利用本站制作、复制和传播不法有害信息!

二、互相尊重,对自己的言论和行为负责。