互联网服务shell脚本

脚本求助

File1/ File2 每行一个单词的多行文本文件,

File2 包含 File1的内容,如何通过命令找出 File2比 File1多哪些内容?

参与11

2同行回答

sunrisewlmsunrisewlm系统架构师海通证券股份有限公司
两个文件a.txt和b.txt a.txt: $more a.txt  11  22  33  44  55  b.txt: $more b.txt  111  22  77  88  33  99  ==============...显示全部

两个文件a.txt和b.txt

a.txt:

$more a.txt  11  22  33  44  55  

b.txt:

$more b.txt  111  22  77  88  33  99  

=====================================

如果执行diff a.txt b.txt:

$diff -w a.txt b.txt  1c1  < 11  ---  > 111  2a3,4  > 77  > 88  4,5c6  < 44  < 55  ---  > 99  

"<"表示a.txt有,但是b.txt里面不包含;">"表示a.txt没有,但是b.txt包含。

=====================================

如果执行 diff -w a.txt b.txt | grep \^\<

$diff -w a.txt b.txt | grep \^\<  < 11  < 44  < 55  

该执行结果就将只输出a.xt里面有,但是b.txt里面不包含的文件内容。

=====================================

如果执行 diff -w a.txt b.txt | grep \^\>

$diff -w a.txt b.txt | grep \^\>  > 111  > 77  > 88  > 99  

该执行结果就将只输出b.xt里面有,但是a.txt里面不包含的文件内容。

收起
证券 · 2016-07-13
浏览1649
ideafineideafine系统运维工程师IBM
不介意性能,可以写长一点点:for i in `cat $File2`dogrep ^$i$ $File1 >> diff.listdone还可以用其他正则过滤显示全部

不介意性能,可以写长一点点:

for i in `cat $File2`

do

grep ^$i$ $File1 >> diff.list

done

还可以用其他正则过滤

收起
IT分销/经销 · 2016-07-13
浏览1574

提问者

2010
软件开发工程师abc
擅长领域: 服务器存储灾备

相关问题

相关资料

相关文章

问题状态

  • 发布时间:2016-07-13
  • 关注会员:4 人
  • 问题浏览:2693
  • 最近回答:2016-07-13
  • X社区推广