Linux如何利用两个文件生成新的文件

我们在使用Linux时经常需要在两个文本文件中取重复的行或只取不重复的,也就是取交集或并集。我们可以使用sort和uniq命令来处理:

利用现存两个文件,生成一个新的文件

1. 取出两个文件的并集(重复的行只保留一份)

2. 取出两个文件的交集(只留下同时存在于两个文件中的文件)

3. 删除交集,留下其他的行

1. cat file1 file2 | sort | uniq

2. cat file1 file2 | sort | uniq -d

3. cat file1 file2 | sort | uniq -u

例如:文件a有三行:1,2,3;文件b有4行2,3,4,5;

那么输入cat a b|sort之后,生成的文件有7行:1,2,2,3,3,4,5;

接下来输入cat a b|sort|uniq -d取交集,生成的文件有两行:2,3;

输入 cat a b|sort|uniq -u取去除交集后的并集,生成:1,4,5;

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容