用shell脚本实现两个文件比较 80

实现功能描述:比较两个文件,将两个文件的文件详细跟不同之处显示出来,并且显示是文件的哪一行。例如a.txt的内容:hello123thisisa.txt456b.txt的... 实现功能描述:比较两个文件,将两个文件的文件详细跟不同之处显示出来,并且显示是文件的哪一行。
例如
a.txt的内容:
hello
123
this is a.txt
456
b.txt的内容:
hello!
123
this is b.txt
4567
要求比较后的结果写到c.txt的文件里
比较结果要求如下也就是写到c.txt的内容:
*** a.txt 2015-07-12 04:06:04.671025312 -0700
--- b.txt 2015-07-12 04:07:06.090025766 -0700
***************
*** 1 ****
! hello
--- 1 ----
! hello!

***************
*** 3****

! this is a.txt
--- 3----
! this is b.txt
***************
*** 4****
456

--- 4----
! 4567
我的技术有限,只能在线等大师解决。
展开
 我来答
良玉小帝
2015-07-13 · 个人日常精心汇总合集
良玉小帝
采纳数:5925 获赞数:9451

向TA提问 私信TA
展开全部
[root@localhost xly]# ll a.txt b.txt 
-rw-r--r-- 1 root root 28 Jul 13 15:00 a.txt
-rw-r--r-- 1 root root 30 Jul 13 15:00 b.txt
[root@localhost xly]# cat a.txt 
hello
123
this is a.txt
456
[root@localhost xly]# cat b.txt 
hello!
123
this is b.txt
4567
[root@localhost xly]# diff a.txt b.txt 
1c1
< hello
---
> hello!
3,4c3,4
< this is a.txt
< 456
---
> this is b.txt
> 4567

1c1就是指2个文件第一行不一样
<指的是a.txt
>指的是b.txt
追问
非常感激您回答的这么详细
不过不是正确的答案

diff -C0就可以实现
追答
nice
匿名用户
推荐于2017-07-18
展开全部
inux文件比较命令用来比较两个文件内容的差别。主要有comm命令和diff命令。如果想对两个有序的文件进行比较,可以使用comm命令。如果要逐行比较两个文本文件,列出其不同之处可以使用diff命令。
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
sudoku52
2017-07-16 · TA获得超过7万个赞
知道大有可为答主
回答量:1.2万
采纳率:82%
帮助的人:4883万
展开全部

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
夏季咯咯咯
2017-06-24 · TA获得超过217个赞
知道答主
回答量:156
采纳率:0%
帮助的人:51.7万
展开全部
亲自实验过的方法如下:

第一种:comm命令法

命令如下:comm -3 file1 file2

有一个问题就是,如果两个文件排序不一样的话,会出问题

第二种:grep命令法

命令如下:grep -vwf file1 file2

统计file1中没有,file2中有的行

具体使用环境以后再补充,今天先记录到这里
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式