处理两个文件中的相同行和不同行

来源:互联网 发布:类似于日事清的软件 编辑:程序博客网 时间:2024/06/06 06:44

利用现存两个文件,生成一个新的文件
1. 如何取出两个文件的并集(重复的行只保留一份)?
2. 如何取出两个文件的交集(只留下同时存在于两个文件中的文件)?
3. 如何删除交集,留下其他的行?
1. cat file1 file2 | sort | uniq
2. cat file1 file2 | sort | uniq -d
3. cat file1 file2 | sort | uniq -u


Linux系统下删除两个文件相同部分
方法一:
comm -23 file1 file2

方法二:

grep -v -f file1 file2

/*注::此法在对比数字时候比较凑效果,文本对比不建议使用*/

方法三:

awk '{print NR,$0}' file1 file2 |sort -k2|uniq -u -f 1|sort -k1|awk '{print $2}'

或者:
awk '{print $0}' file1 file2 |sort|uniq -u
或者
join -v1 a b > c
原创粉丝点击