[转帖]linux求数组的交集,shell/bash 交集、并集、差集

linux,数组,交集,shell,bash · 浏览次数 : 0

小编点评

**方法一:直接用文件名** ```python file1 = "file1.txt" file2 = "file2.txt" # 将两个文件的内容合并到一个新的文件中 with open(file1 + ".merged", "w") as f: for line in open(file1): f.write(line) for line in open(file2): f.write(line) # 排序并并集文件 files = ["file1.txt", "file2.txt"] sorted_files = sorted(files, key=lambda f: len(f)) # 打印并集文件的内容 print(f"并集文件:\n{sorted_files}") ``` **方法二:使用变量参数** ```python file1 = "file1.txt" file2 = "file2.txt" # 使用变量参数获取文件内容 file_content1 = open(file1, "r").read() file_content2 = open(file2, "r").read() # 按指定顺序合并文件 merged_content = file_content1 + "\n" + file_content2 # 排序并并集文件 sorted_content = sorted(merged_content.splitlines(), key=lambda line: len(line)) # 打印并集文件的内容 print(f"并集文件:\n{sorted_content}") ``` **方法三:使用对象** ```python class FileComparator { def __init__(self, file1_path, file2_path): self.file1 = file1_path self.file2 = file2_path def compare(self): # 将两个文件的内容比对 with open(self.file1, "r") as f1: file_content1 = f1.read() with open(self.file2, "r") as f2: file_content2 = f2.read() # 返回结果,根据文件内容的比较结果 return file_content1 > file_content2 } # 创建两个文件比较器 comparator = FileComparator("file1.txt", "file2.txt") # 按文件内容的比较结果排序文件 sorted_files = comparator.compare() # 打印并集文件的内容 print(f"并集文件:\n{sorted_files}") ```

正文

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

并:

sort -m

交:

sort -m

差 file1 - file2:

sort -m

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

file1=XXXX

file2=YYYY

# 并:

sort -m

# 交:

sort -m

# 差 file1 - file2:

sort -m

方法三:

file1=XXXX

file2=YYYY

# 并:

cat $file1 $file2 | sort | uniq

# 交:

cat $file1 $file2 | sort | uniq -d

备注:

uniq -d 会输出重复行

uniq -u 只显示唯一的行

(java/javascript) list 交集 并集 差集 去重复并集

java list 交集 并集 差集 去重复并集 package com; import java.util.ArrayList; import java.util.Iterator; import ...

Python 求两个文本文件以行为单位的交集 并集 差集

Python 求两个文本文件以行为单位的交集 并集 差集,来代码: s1 = set(open('a.txt','r').readlines()) s2 = set(open('b.txt','r') ...

如何求ArrayList集合的交集 并集 差集 去重复并集

需要用到List接口中定义的几个方法: addAll(Collection extends E> c) :按指定集合的Iterator返回的顺序将指定集合中的所有元素追加到此列表的末尾 ...

java 两个list 交集 并集 差集 去重复并集

前提需要明白List是引用类型,引用类型采用引用传递. 我们经常会遇到一些需求求集合的交集.差集.并集.例如下面两个集合: List list1 = new ArrayLi ...

java list 交集 并集 差集 去重复并集

package com; import java.util.ArrayList;import java.util.Iterator;import java.util.List; public clas ...

js Array 交集 并集 差集 去重

最劲项目需要用到js数组去重和交集的一些运算,我的数组元素个数可能到达1000以上,网上的实现方式都是2次循环,性能不适合我的需求,1000*1000那循环次数太多了,所以我这里采用对象object来 ...

Oracle集合运算符 交集 并集 差集

集合运算符:UNION/UNION ALL 并集,INTERSECT 交集,MINUS 差集  一.union求并集,公共部分只有包含一次 例:求emp表ename中含’A‘或含有‘M’ SQL&g ...

SQL求 交集 并集 差集

故事是这样的….. 故事情节: 表 tb_test 有两列, colA , colB; 求 colA , colB 的并交差集… -- 计算并集 SELECT DISTINCT colB FROM t ...

oracle交集,并集,差集

引自:http://www.2cto.com/database/201308/238777.html [sql] create table test1 ( name ), NN ) ); insert ...

随机推荐

unity 3d 解析 json

官网案例传送门 我这里不过是借花献佛,案例官网就有. using UnityEngine; using System.Collections; public class json : MonoBeha ...

移植mbed到目标板

上一篇我们导出了mbed基本环境到mdk,根据实际目标还需要做些修改.手头的硬件是ebox平台,芯片STM32F103C8T6,调试器jlink,默认使用UART1. 导出时所选择的NUCLEO-F1 ...

黑科技项目:英雄无敌III Mod <;<;Fallen Angel>;>;介绍

英雄无敌三简介(Heroes of Might and Magic III) 英3是1999年由New World Computing在Windows平台上开发的回合制策略魔幻游戏,其出版商是3DO. ...

Atitit数据库层次架构表与知识点 attilax 总结

Atitit数据库层次架构表与知识点 attilax 总结 第一阶段,大概理论(三五天 数据库的类型,网状,层次,树形数据库,kv数据库.Oodb Er模型   sql 并发控制与lock  Acid ...

win7下安装openpyxl

想使用python来操作Excel,看资料据说openpyxl非常好用,于是到https://pypi.python.org/pypi/openpyxl下载了安装包.下面就来说说安装步骤,也算是对自己 ...

C#_socket拆包_封包_模拟乱序包

拆包一直是个硬伤呀,MLGB的,服务端各种乱数据,果断整理下 拆包思路:设计一个网络协议,一般都会分包,一个包就相当于一个逻辑上的命令. .如果我们用udp协议,省事的多,一次会收到一个完整的包,但U ...

curl订单具体解释

为windows假设用户Cygwin模拟unix环境的话,不会有带curl命令,拥有设备,它建议使用Gow为了模拟,它已经自带curl工具,直接安装之后cmd使用环境curl命令可以,由于路径是自己主 ...

httpd2.2配置文件详解

httpd2.2官方配置手册:http://httpd.apache.org/docs/2.2/ 注意:关闭防火墙,iptables规则 vim /etc/sysconfig/selinux SELI ...

删除项目中的.pyc文件

在编写python项目的时候,往往会生成很多的.pyc文件,但是在我们提交代码的时候这些.pyc文件又是不必要的,所以需要对项目里面的.pyc文件进行清理.再此,经过我的查阅资料和尝试,分享出以下方法 ...

【shell脚本练习】批量添加用户和设置密码

题目 添加9个用户,user101-user109:密码同用户名: 思路 for循环来添加就好了,用户名和密码都可以拼字符串来完成 user10+数字 要判断是否能添加成功,注意非交互模式下修改用户密 ...

文章知识点与官方知识档案匹配,可进一步学习相关知识
CS入门技能树Linux入门初识Linux28849 人正在系统学习中

与[转帖]linux求数组的交集,shell/bash 交集、并集、差集相似的内容:

[转帖]linux求数组的交集,shell/bash 交集、并集、差集

方法一(直接用文件名):取两个文本文件的并集、交集、差集 并: sort -m 交: sort -m 差 file1 - file2: sort -m 方法二(用变量参数):取两个文本文件的并集、交集、差集 file1=XXXX file2=YYYY # 并: sort -m # 交: sort -

[转帖]Linux中awk命令正确的求最大值、最小值、平均值、总和

`https://blog.csdn.net/fireblue1990/article/details/51622416` test.txt文件内容: 9 11 35 21 42 118 求最大值: awk 'BEGIN {max = 0} {if ($1+0 > max+0) max=$1} EN

[转帖] 使用uniq命令求并集交集差集

原创:打码日记(微信公众号ID:codelogs),欢迎分享,转载请保留出处。 uniq# uniq是linux上非常有用的一个命令,从字面意思上就能看出来,它可以用来去重。 但使用uniq的前提是文件是排好序的,所以我们经常会搭配sort排序命令来一起使用uniq,如下: $ cat test.t

[转帖]Linux 磁盘I/O 调度算法 说明

2022-08-23 13:031361转载Linux 1 Linux 4.0 IO协议栈框架图 I/O 调度算法在各个进程竞争磁盘I/O的时候担当了裁判的角色。他要求请求的次序和时机做最优化的处理,以求得尽可能最好的整体I/O性能。 Linux 4.0 IO协议栈框架图 I/O调度程序的总结 当向

[转帖]Linux中常见IO调度器

https://www.jianshu.com/p/3c16e39a005a 单队列调度算法多队列调度算法 deadline mqdeadlines cfq bfq noop none kyber 对于磁盘I/O,Linux提供了cfq, deadline和noop三种调度策略 cfq: 这个名字是

[转帖]Linux 平台使用shc 工具加密shell 脚本

2021-08-03 20:4510030原创Linux 本文链接:https://www.cndba.cn/dave/article/4642 1 shc 工具说明 shell 脚本是常用脚本,运维中经常使用,但有时候在shell 脚本中会包含一些敏感的信息,比如密码或者特殊的参数,此时我们就可以

[转帖]Linux系统多网卡环境下的路由配置

https://www.cnblogs.com/connect/p/linux-static-route.html Linux下路由配置命令 1. 添加主机路由 route add -host 192.168.1.11 dev eth0 route add -host 192.168.1.12 gw

[转帖]linux命令行下如何格式化json并进行各种json处理操作

https://blog.csdn.net/penriver/article/details/122016563 有时需要在linux 的命令行下,需要查看json的内容或针对json进行各种操作,本文针对此进行梳理、总结。 在Linux系统下基于python json.tool可以格式化json,

[转帖]Linux grep、egrep使用命令详解

https://segmentfault.com/a/1190000040654123?utm_source=sf-similar-article grep egrep区别 grep 默认不支持扩展 但可以通过-E 选择来支持扩展正则egrep 支持扩展正则 关于正则与扩展正则的区别可以看我另一篇s

[转帖]Linux kill & Java shutdownhook

https://www.jianshu.com/p/8001a66d37c9 shutdown-hook 建议加上shutdown的钩子 如果程序出现了内存溢出crash 则现在代码是没有任何保护措施的 或者说运维不小心关闭了服务器等 或者运维不小心kill了游戏服务器进程等 无法避免kill -9