博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
shell/bash 交集、并集、差集
阅读量:6148 次
发布时间:2019-06-21

本文共 992 字,大约阅读时间需要 3 分钟。

方法一(直接用文件名):取两个文本文件的并、交、差集
并:

sort -m <(sort file1 | uniq) <(sort file2 | uniq) | uniq


交:

sort -m <(sort file1 | uniq) <(sort file2 | uniq) | uniq -d


 file1 - file2:


sort -m <(sort file1 | uniq) <(sort file2 | uniq) <(sort file2 | uniq) | uniq -u

 

 

方法二(用变量参数):取两个文本文件的并、交、差集

file1=XXXX

file2=YYYY


并:

sort -m <(sort $file1 | uniq) <(sort $file2 | uniq) | uniq


交:

sort -m <(sort $file1 | uniq) <(sort $file2 | uniq) | uniq -d


 file1 - file2:


sort -m <(sort $file1 | uniq) <(sort $file2 | uniq) <(sort $file2 | uniq) | uniq -u

 

方法三:

file1=XXXX

file2=YYYY

并:

cat $file1 $file2 | sort | uniq

交:

cat $file1 $file2 | sort | uniq -d

 

 

备注:

uniq -d 会输出重复行

uniq -u 只显示唯一的行

grep命令

grep命令是常用来搜索文本内容的,根据输入的pattern,输出命中的内容。可以利用它的文件输入pattern特性,来求两个文件的交集。


$ cde

那差集可以利用-v这个参数,例如:

$ grep -F -v -f a.file b.filefg$ grep -F -v -f b.file a.fileab

其中第一个命令求B-A,第二个命令求A-B

注意:

1)grep求交集不要求输入文件是排序的,但最好是唯一的

2)差集时注意输入文件的顺序

本文转自 chengxuyonghu 51CTO博客,原文链接:http://blog.51cto.com/6226001001/1873074,如需转载请自行联系原作者
你可能感兴趣的文章
HDU1335 POJ1546 UVA389 UVALive5306 ZOJ1334 Basically Speaking
查看>>
html5存储
查看>>
个人简历
查看>>
Python3.7.1学习(三)求两个list的差集、并集与交集
查看>>
Oracle(四):锁
查看>>
css学习_css3伸缩布局 flex布局
查看>>
c++内存分配
查看>>
网页错误是不会报错的
查看>>
白话机器学习
查看>>
Emmet Documentation
查看>>
HTTP状态码搜集
查看>>
爬虫大作业
查看>>
输入一组数组,回车结束
查看>>
嵌入式软件设计第7次实验报告
查看>>
CF-Approximating a Constant Range
查看>>
移动端流体布局
查看>>
Java程序设计第一次作业
查看>>
C#_datatable_读取
查看>>
Jquery中$.get(),$.post(),$.ajax(),$.getJSON()的用法总结
查看>>
date命令使用文档
查看>>