Linux文件的排序去重和切割操作

sort :将文本文件内容加以排序。

sort -u [file] = sort [file] | uniq (去重)

参数说明

-b 忽略每行前面开始出的空格字符

-c 检查文件是否已经按照顺序排序

-d 排序时,处理英文字母、数字及空格字符外,忽略其他的字符

-f 排序时,将小写字母视为大写字母

-l 排序时,除了040至176之间的ASCII字符外,忽略其他的字符

-m 将几个排序好的文件进行合并

-M 将前面3个字符依照月份的缩写进行排序

-n 依照数值的大小排序

-o<输出文件> 讲排序后的结果存入指定的文件

-r 以相反的顺序来排序

-t<分隔字符> 指定排序时所用的栏位分割字符

+<起始栏位>-<结束栏位> 以指定的栏位来排序,范围由起始兰位到结束栏位的前一栏位

--help 显示帮助

--version 显示版本信息

-u 对排序后认为相同的行只留其中一行

uniq : 检查及删除文本文件中重复出现的行列。

语法:uniq[选项] 文件

最重要参数: 默认(去重) | -d(显重) | -u(删重)

参数

-c或--count 在每列旁边显示该行重复出现的次数

-d或--repeat 仅显示重复出现的行列

-f<栏位>或--skip-fields=<栏位> 忽略比较指定的栏位

-s<字符位置>或--skip-chars=<字符位置> 忽略比较指定的字符

-u或--unique 仅显示出一次的行列

-w<字符位置>或--check-chars<字符位置> 指定要比较的字符

--help 帮助信息

--version 版本信息

comm 命令详解:

功能说明:比较两个已排序的文件

语法: comm [-123][--help][--version][第一个文件][第二个文件]

补充说明:这项指令会一列列的比较两个已排序文件的差异,并将其结果显示出来。如果没有指定任何参数,则会把结果分成3行显示,第1行是仅在第一个文件中出现的列,第2行是仅在第二个文件中出现过的列,第3行则是在两个文件中都出现过的列。若给予的文件名称是"-",则comm指令会从标准输入设备中读取数据。

参数:

-1 不显示在第1个文件中出现的列

-2 不显示在第2个文件中出现的列

-3 不显示只在第1或第2个文件中出现的列

选项1 2和3抑制相应的列显示,例如

comm -12 显示两个文件中都出现的行

comm -23 显示在第1个文件出现,而不是在第2个文件出现的行

comm -123 什么都不显示

注意:uniq 和 comm 命令需要使用已经排序好的内容才有意义。注意文件格式要为unix


一些例子

创建两个不同的文件 file1 和file2


取出两个文件的并集:cat file1 file2 |sort |uniq



取出两个文件的并集:cat file1 file2 |sort |uniq -d


删除两个文件的交集:cat file1 file2 | sort |uniq -u


两个文件合并:

  1. 一个在上一个在下 cat file1 files2 >file3

  2. 一个在左一个在右 paste file1 file2 >file3

  3. 将file1添加到file2后面:cat file1 >> file2
    一个文件去掉重复行

  4. sort file | uniq 把重复的行合并为一行

  5. sort file | uniq -u 把重复的行删除,仅保留非重复的行


文件的切割操作

按指定大小切割:split -b 500M filename 将大文件切割成每个大小为500M的文件
按行数进行切割:split -l 10 filename 将大文件切割成每个10行的文件
按行数切割,生成的文件带上前缀:split -l 10 filename medal 每个文件都以medal开头
按行数切割,生成的文件带上后缀:split --additional-suffix=.log -l 2 file7 每个文件都以.log结尾

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 194,088评论 5 459
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 81,715评论 2 371
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 141,361评论 0 319
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 52,099评论 1 263
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 60,987评论 4 355
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 46,063评论 1 272
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 36,486评论 3 381
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 35,175评论 0 253
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 39,440评论 1 290
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 34,518评论 2 309
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 36,305评论 1 326
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 32,190评论 3 312
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 37,550评论 3 298
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 28,880评论 0 17
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 30,152评论 1 250
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 41,451评论 2 341
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 40,637评论 2 335

推荐阅读更多精彩内容