说明,是通过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 - 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 |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

Linux 下比较文件内容并相同部分、不同部分的更多相关文章

  1. linux下直接复制文件内容到剪切板

    title: linux下直接复制文件内容到剪切板 date: 2017-11-23 17:00:06 tags: categories: Linux 首先安装xsel. xsel --input - ...

  2. 在Linux下查找文件内容包含某个特定字符串的文件

    如何在Linux下查找文件内容包含某个特定字符串的文件? 我的目录下面有test1和test2两个文件夹,里面都含有很多文件,其中test2里面还包含一个test文件夹 我想请问的是,如何通过查找关键 ...

  3. Linux下Python 文件内容替换脚本

    Linux下Python 文件替换脚本 import sys,os if len(sys.argv)<=4: old_text,new_text = sys.argv[1],sys.argv[2 ...

  4. Linux下查看文件内容的命令

    查看文件内容的命令: cat     由第一行开始显示内容,并将所有内容输出 tac     从最后一行倒序显示内容,并将所有内容输出 more    根据窗口大小,一页一页的现实文件内容 less ...

  5. linux下查看文件内容cat,more,less

    1. 查看文件内容经常使用的命令 cat : 由第一行显示文件内容 tac:  从最后一行開始显示.与cat相反 nl :  文件内容和行号一起输出 more: 一页一页显示 less: 与more类 ...

  6. Linux下查看文件内容的命令和工具

    1.catcat命令主要用来查看文件内容,创建文件,合并文件,追加文件等. 1.1.查看文件 格式:cat 文件名称 说明:这条命令会把文件内容全部输出到显示屏上. cat -n 文件名称:查看文件内 ...

  7. [原]Linux下清空文件内容的三种方法

    ========问题======== 有些文件需要清空内容而不改变属性 =======解决方案====== 1.直接删除,创建同名文件.(这种方法的弊端是有可能这个文件带着权限或者是属性,那么你新建这 ...

  8. Linux下查看文件内容的几种常用命令

    [常用] 1,cat     由第一行开始显示内容,并将所有内容输出 cat的功能是将文件从第一行开始连续的将内容输出在屏幕上.但是cat并不常用,原因是当文件大,行数比较多时,屏幕无法全部容下时,只 ...

  9. linux下清空文件内容的3个命令

    1.使用echo "" > file_name,直接将空字符串重定向并覆盖到目标文件 2.使用cat /dev/null > file_name,读取dev目录下的一个 ...

随机推荐

  1. jQuery Mobile 列表内容

    jQuery Mobile 列表缩略图 对于大于 16x16px 的图像,请在链接中添加 <img> 元素. jQuery Mobile 将自动把图像调整至 80x80px: 实例: &l ...

  2. Hibernate一对一双向关联(注解)

    每一个人(Person)对应一个身份证号(IdCard) package cqvie.yjq.domain; import java.util.Date; import javax.persisten ...

  3. swoole 使用 1

    在很长的一段时间里,我不太看好swoole,发现它的文档太少,社区也不够活跃等,但是最近在学习 Hprose时,发现swoole在rpc方面做得更加完善,于是决定看看. 在简单的使用swoole扩展后 ...

  4. How to build the Robotics Library from source code on Windows

    The Robotics Library is an open source C++ library for robot kinematics, motion planning and control ...

  5. Web工作原理

    第一步:寻找域名服务器,将域名(www.nice.com)的主机解析成服务器的ip的地址. 第二步:使用http协议连接Apache网页服务器,请求到服务器对应的目录下的文件,例如:index.php ...

  6. bootstrap-标题

    1.重置了margin-top和margin-bottom的值,h1到h3重置后margin-top的值都是20px:h4到h6重置后的值都是10px: 2.所有标题的行高都是1.1(也就是font- ...

  7. CentOS 6.5升级Python和安装IPython

    <转自:http://www.noanylove.com/2014/10/centos-6-5-sheng-ji-python-he-an-zhuang-ipython/>自己常用.以做备 ...

  8. C++ STL 助记1:vector

    vector<, ); // Creates vector of 10 ints with value 100 vector<, "hello"); vector< ...

  9. Sql Server 日期查询

    当前月: USE [DBName] Go Use Database, Declare Variables DECLARE @ReportGenerationDate DATE DECLARE @Rep ...

  10. Maven web项目三种运行方式

    http://www.micmiu.com/software/build/maven-web-eclipse-deploy/