首页 > 系统相关 >Linux操作命令(九)1.comm命令 2.diff命令 3.patch命令

Linux操作命令(九)1.comm命令 2.diff命令 3.patch命令

时间:2023-03-06 18:13:27浏览次数:42  
标签:file2 file1 操作命令 文件 patch 命令 comm diff txt

1、comm

用于比较两个有序文件的不同,在使用comm指令之前应先把文件的内容进行排序(sort)

显示结果包括 3 列:第 1 列为只在第一个文件中找到的行,第 2 列为只在第二个文件中找到的行,第 3 列为两个文件的共有行

参数描述
-1 不输出文件 1 特有的行
-2 不输出文件 2 特有的行
-3 不输出两个文件共有的行

 

比较file1.txtfile2.txt两个文件的内容:comm file1.txt file2.txt

 

比较file1.txtfile2.txt两个文件的内容,只显示两个文件共有的内容:comm -12 file1.txt file2.txt

2、diff 命令

可以逐行比较两个文件,并把文件的差异显示到标准输出

参数描述
-c 上下文模式,显示全部内文,并标出不同之处
-u 统一模式,以合并的方式来显示文件内容的不同
-a 只会逐行比较文本文件
-N 在比较目录时,若文件 A 仅出现在某个目录中,预设会显示:Only in 目录。若使用 -N 参数,则 diff 会将文件 A 与一个空白的文件比较
-r 递归比较目录下的文件
显示file1.txtfile2.txt两个文件的差异:diff file1.txt file2.txt

 

 

 

 上面结果显示中的“1d0”表示file1.txt文件比file2.txt文件多了第一行,“4c3,4”表示file1.txt文件的第四行和file2.txt文件的第三、四行不同

diff 的 normal 显示格式有三种提示:

  • a - add
  • c - change
  • d - delete

从上面例一的显示结果可以知道,file1.txtfile2.txt两个文件的差异不易直观看出,这时可以使用上下文模式显示,可以使用如下命令:diff -c file1.txt file2.txt

 

 

 

这个输出结果以两个文件名和它们的时间戳开头。第一个文件用星号做标记,第二个文件用短横线做标记。纵观列表的其它部分,这些标记将象征它们各自代表的文件。

*** 1,4 *** 表示第一个文件中第一行到第四行的文本行。 --- 1,4 --- 表示第二个文件中第一行到第四行的文本行

三种特殊字符:

+ 添加行,这一行将会出现在第二个文件内,而不是第一个文件内 - 删除行,这一行将会出现在第一个文件中,而不是第二个文件内 ! 更改行,将会显示某个文本行的两个版本,每个版本会出现在更改组的各自部分

这些特殊字符很容易混淆,实际上记住一点就行:所有操作目的是将第一个文件变成第二个文件

查看file1.txtfile2.txt两个文件的差异,使用统一模式显示:diff -u file1.txt file2.txt

 

 

上下文模式和统一模式之间最显著的差异就是重复上下文的消除,这就使得统一模式的输出结果要比上下文模式的输出结果简短。

**@@ -1,4 +1,4 @@**表示在在更改组中描述的第一个文件中的文本行和第二个文件中的文本行。

特殊字符:

  • + 添加这一行到第一个文件中
  • - 在第一个文件中删除这一行

 

标签:file2,file1,操作命令,文件,patch,命令,comm,diff,txt
From: https://www.cnblogs.com/qashan/p/17184854.html

相关文章

  • find命令
    查找多种后缀文件:find<path>[-name<pattern>][-or-name<pattern>]以查找所有.c和.cpp为例:ubuntu@VM-24-13-ubuntu:~/apps/ddns-serv/server$find../-name"*......
  • cmd中执行cl命令,提示'cl' 不是内部或外部命令,也不是可运行的程序或批处理文件
    前提:已经安装vs系列软件我们可以在命令行直接编译c++程序在windows操作系统中,打开命令行,输入cl,若系统提示'cl'不是内部或外部命令,也不是可运行的程序或批处理文件。则......
  • deb安装包的制作及dpkg命令
    目录deb安装包的制作介绍制作deb包的核心文件(夹)步骤1.创建deb包的文件夹2.在deb包根路径中创建DEBIAN文件夹3.创建control4.创建preinit、postinit、prerm、postrm......
  • cp 命令复制文件遇到的问题
    [root@himawaribozhou]#cp/etc/skel/.*cp:目标"/etc/skel/.bashrc"不是目录/etc/skel/.bashrc是文件,必须复制到一个目录里,所以命令后面要加.表示当前目录[......
  • linux命令之journalctl查看日志信息
    #以flow形式查看日志实时滚动$journalctl-f#查看内核日志$journalctl-k#查看指定服务日志实时滚动最新日志$journalctl-udocker.serivce#查看指......
  • nginx 命令说明
    #启动命令./sbin/nginx-c./conf/nginx.conf#验证配置是否正确./nginx-t回显testissuccessful说明配置正确第二种方法  ./sbin/nginx-t-c./conf/nginx.conf......
  • centOS端口映射命令
    初始化端口映射环境:echo1>/proc/sys/net/ipv4/ip_forwardiptables-tnat-APOSTROUTING-jMASQUERADE映射端口:iptables-tnat-APREROUTING-d172.16.0.4-ptcp......
  • docker 常用命令docker run系列
    基本格式指令:1dockerrun[OPTIONS]IMAGE[COMMAND][ARG…]用法:通过run命令创建一个新的容器(container)常用选项说明-d,--detach:指定容器在后台运行,默认为fal......
  • linux 常用的150 个命令汇总
    1.线上查询及帮助manhelp2.文件和目录操作的命令ls cd find mkdir mv pwd renamerm rmdir touch tree basename dirname chattr lsattr file md5sum3.查看文件......
  • 将外部参数传入awk命令的方法汇总
    将外部参数传递进入awk命令将shell脚本里的参数传递进入awk命令里的方法:从文件中读取,从管道传递,从shell变量中读取等,每种方法的适用不同。把数据传入awk的方法汇总方法1......