查找和比较的文件命令

查找和比较文件的命令

1.comm命令

comm命令对两个已排序文件进行逐行比较。

(1)一般格式

c omm[-123] file1 file2

(2)说明

comm命令对两个已经排好序的文件进行比较。其中,filel 和file2是已经排好序的文件。comm从这两个文件中读取正文行,进行比较,最后生成三列输出:仅在filel中出现的行,仅在file2中出现的行,在两个文件中都出现的行。若文件名为“-”,则表示从标准输入读取。

(3)常用选项

-123:选项1、2和3分别表示不显示comm输出中的第一列、第二列和第三列。(4)示例

$ comm -12 m1 m2

(比较文件m1和m2,并且只显示它们共有的行)

  1. diff命令

diff命令比较两个文本文件,,并找出它们的不同,比comm命令能完成更复杂的检查,并且不要求两个文件预先排好序。
(1)一般格式

diff[选项]文件1 文件2

(2)说明

diff命令逐行比较两个文件,列出它们的不同之处,并且告诉用户为了使两个文件一致,需要修改它们的哪些行。若两个文件完全一样,则该命令不显示任何输出。

diff命令输出的一般形式如下:

11a n3, n4

(表示把文件1的n1行附加到文件2的n3~n4行后,则二者相同)

n1,n2dn3

(表示删除文件1的n1~n2行及文件2的n3行,则二者相同)

n1, n2 C n3, n4 (表示把文件1的n1n2行改为文件2的n3n4行,则二者相同)

这些行类似ed命令,把文件1转换成文件2。字母a、d和c之前的行号n1、n2是针对文件1的,其后面的行号n3、n4 是针对文件2的。字母a表示附加,字母d表示删除,字母c表示修改。

在上述每一行后面跟随受到影响的若干行,以“<”开头的行属于文件1,以“>”开头的行属于文件2。

diff命令能区分块特别文件、字符特别文件及管道文件(FIFO),不会把它们与普通文件进行比较。
(3)常用选项

-b:忽略空格造成的差别。例如,“How areyou"与“How areyou ”被看成用相同的字符串。

-c: 输出格式是带上下文的三行格式。

-Cn:输出格式是有上下文的n行格式。

-e: 输出一个合法的ed脚本。

-i: 忽略字母大小写的区别。

-r: 当文件1和文件2都是目录时,递归比较找到的各子目录。

(4)注意

若用“-”表示文件1或文件2,则意味着标准输入。若文件1或文件2是目录,则diff命令将使用该目录中的同名文件进行比较。若文件1和文件2都是目录,则diff会产生很多信息。若一个目录中只有一个文件,则产生一条信息,指出该目录路径名和其中的文件名。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值