打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
Linux下文本文件合并和去除重复操作
Linux下处理文本的能力还是很强大的。
本文主要涉及到的命令为cat  uniq sort。

一 命令简单介绍

cat:将文本文件读出来 (concatenate files and print on the standard output)
文件去重合并的前提条件是先取出文件的内容。

uniq: 用来处理重复的行。(report or omit repeated lines)
Filter  adjacent matching lines from INPUT (or standard input), writing to OUTPUT (or  standard output).
从输入或者标准输入中过滤邻近的行,写到输出文件或者标准输出中。所以此命令只能处理邻近的行,
如果对两个文件进行合并去重,则必须首先对其排序,实现一一对应,否则去重失败。

sort:对文本的行进行排序(sort lines of text files)
Write sorted concatenation of all FILE(s) to standard output.
对于去重而言使用默认排序方式就可以了。

paste:merge lines of files
将按行将不同文件行信息放在一行。缺省情况下, p a s t e连接时,用空格或t a b键分隔新行中不同文本,除非指定- d选项,它将成为域分隔符。

二 实例应用:

1、 两个文件的交集、并集(前提条件:每个文件中不得有重复 也可以是多个文件)

(1)、取出两个文件的并集(重复的行只保留一份)
[python] view plain copy
  1. cat file1 file2 | sort | uniq > file3   

(2)、取出两个文件的交集(只留下同时存在于两个文件中的文件)
[python] view plain copy
  1. cat file1 file2 | sort | uniq -d > file3  

(3)、 删除交集,留下其他的行
[python] view plain copy
  1. cat file1 file2 | sort | uniq -u > file3  

2、两个文件合并

(1)、 一个文件在上,一个文件在下
[python] view plain copy
  1. cat file1 file2 > file3  

(2)、 一个文件在左,一个文件在右
[python] view plain copy
  1. paste file1 file2 > file3  

3、一个文件去掉重复的行

(1)、 重复的多行记为一行
[python] view plain copy
  1. sort file |uniq  

(2)、 重复的行全部去掉
[python] view plain copy
  1. sort file |uniq -u  
本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
Python最快的方式来读取大文本文件(几GB)
python 获取脚本传递参数 及参数个数 检查文件 变量 是否存在 退出脚本
[Python]如何取出一个超大文本文件的最后几行
为什么你总是学不会Python入门Python的4大陷阱(一个文件夹下有许多文本文件每个文件相当于一本书自定义函数的做法你能明显感受到2种写法的思维区别
php获取文件行数
linux uniq
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服