linux匹配多个文件,Linux Shell 两个文件 匹配

本文介绍了如何使用Linux Shell命令(grep、comm和awk)来比较两个文件并删除它们的共同部分,保留各自独有的内容。通过详细解析各个命令的工作原理和参数,帮助理解如何在实际场景中应用这些方法。
摘要由CSDN通过智能技术生成

转来的,原址http://www.cnblogs.com/raceblog/archive/2011/03/24/shell-delete-comm.html

因为在面试中遇到一个这样的问题,当时模模糊糊的,没有很确定的回答出来,后来上网查了一下结果,这里总结一下。

首先描述一下这个问题:比如两个文件file1和file2,删除两个文件中共同的部分,留下两个文件中独自有的部分。在网上找到一篇解决的答案,地址在这里http://hi.baidu.com/robertoyuan/blog/item /559483c4946ed5a78226acac.html。这里提到三种方法,但是没有给具体的解释。

方法一:使用grep

grep -v -f file1 file2 && grep -v -f file2 file1

grep命令的详细使用方法,可以参考man,这里有一个简单实用的介绍: /20070313/1035613_1.html。在方法一中,用到了两个参数。参数-v,表示invert match,即反向匹配,输出没有匹配上的项。参数-f,表示从文件中读取匹配模板(pattern)。方法一中的前一部分,在文件file1中匹配模板,来反向匹配文件file2中的内容,即输出文件file2中,在file1中没有的内容。后面的一部分同理可得,输出文件file1中,在file2 中没有的内容。

方法二:实用comm

comm -3 file1 file2

这个方法看起来最简单。命令comm的功能就是,逐行比较两个排好序的文件,默认输出有三列:只在fi

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值