文章目录

一、sort 排序

1、语法

2、参数说明

3、实例

二、uniq 去重

1、uniq使用

2、sort和uniq去重结果对比

三、wc 统计

一、sort 排序

sort命令用于 对文本文件内容,以行为单位来排序。

sort命令以空格作为字段分隔符,将一行分割为多个关键字对文件进行排序。

需要注意的是除非你将输出重定向到文件中,否则sort命令并不对文件内容进行实际的排序(即文件内容没有修改),只是将文件内容按有序输出。

1、语法

sort [-bcdfimMnr][-o][-t][+-][--help][--verison][文件]

2、参数说明

参数

说明

-m

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

-u

内容去重

-n

依照数值的大小排序,升序排列。

-o

将排序后的结果存入指定的文件。

-r

以相反的顺序来排序。

-t

指定排序时所用的栏位分隔字符。

-k

指定要排序的列数,默认是从第一列开始比较,-k可指定某一列,也可与-t 结合使用时,代表某一栏

+-

以指定的栏位来排序,范围由起始栏位到结束栏位的前一栏位。

3、实例

(1)对文件进行升序排序

sort testfile

以行为单位,相互比较,从首字符向后,依次按ASCII码值进行比较,最后将他们按升序输出。

注意:原文件内容并未被修改!

(2)对文件进行升序排序,并去除重复行 sort -u

sort -u 1.txt

可以看出:

sort -u是先对内容进行排序,然后再去重(实际也是去除了相邻的重复行)。

而uniq不能实现排序,只能去除相邻的重复行,所以要跟sort合并使用,先用sort排序,再用uniq去重 sort 1.txt | uniq:

(3)按数值大小降序排列后,把结果再输出到原文件中 -o(直接用重定向做不到)

sort -nr num.txt -o num.txt

(4)使用sort的-t选项和-k选项,设置间隔符后再指定排序的列

如上图所示,对年月日的日期进行排序,直接使用sort dat.txt时,会按列从左到右来排序;

sort -t'-' -k2 dat.txt

# 其中-t'-' 是以 ‘-’ 为分隔符对每行内容分栏,然后-k 2 表示对分栏后的第二栏内容进行默认的升序排列。

(5)使用sort -k指定以某一列排序

sort -k9 a.txt

(基于a.txt的第九列来排序)

(6)sort命令并非仅能对文件进行排序,我们还可以通过管道将命令的输出内容重定向到sort命令中

ls -l /home/$USER | sort -nk5

(7)对/etc/passwd以‘:’分隔,再以第六个域的第2个字符到第4个字符进行正向排序,再基于第一个域进行反向排序。

cat /etc/passwd | sort -t':' -k 6.2,6.4 -k 1r

sync:x:4:65534:sync:/bin:/bin/sync

proxy:x:13:13:proxy:/bin:/bin/sh

bin:x:2:2:bin:/bin:/bin/sh

sys:x:3:3:sys:/dev:/bin/sh

二、uniq 去重

1、uniq使用

uniq命令用于去重文件内容中的连续重复行,通常要跟sort一起使用,先利用sort排序,然后用uniq去重。

uniq命令与sort命令类似,并不对文件内容进行实际的排序(即文件内容没有修改),只是在输出内容中去重。

uniq -c :显示每一行重复的次数

2、sort和uniq去重结果对比

1、sort -u使用sort对文件去重

sort -u 1.txt

可以看出,sort -u是先对内容进行排序,然后再去重(实际也是去除了相邻的重复行)。

2、使用uniq对文件去重

可以看出,当内容中的重复行不相邻时,直接使用uniq 1.txt 并不能达到去重。

因为uniq只能去除相邻的重复行,所以要跟sort合并使用,先用sort排序,再用uniq去重sort 1.txt | uniq。

三、wc 统计

wc命令用于统计文件里面有多少行,多少单词,多少字符。

常与sort、grep等其它命令结合使用。

参数

说明

-l

line,统计行数;

-w

word,统计单词数(英文单词),以空格或换行为单位;

-m

统计字符数;

wc 1.txt

默认显示所有的行数、单词数、字符数。

如下图所示:

linux sort 多列去重排序,【Linux】sort排序、uniq去重、wc统计相关推荐

  1. linux文件一列加1,linux shell ls -1 列显示文件

    /******************************************************************************* * linux shell ls -1 ...

  2. linux文件一列加1,Linux命令(1)-创建文件

    版本:centos7 1.可以使用cat创建一个新的文件 命令:cat>>filename 使用cat创建文件时,以系统默认的文件属性作为新文件的属性,并接受键盘输入作为文件的内容.输入结 ...

  3. linux 文件按某列排序,sort如何按指定的列排序,linux按照指定列对文件排序

    linux按照指定列对文件排序 sort如何按指定的列排序 0000            27189           41925425 065f            15           ...

  4. Linux笔记(shell特殊符号,sort排序,wc统计,uniq去重,tee,tr,split)

    一.shell特殊符号 *  任意个任意字符 ?  任意一个字符 #  注释字符 \  脱义字符 例如: [root@localhost ~]# a=2 [root@localhost ~]# b=3 ...

  5. linux里以第一列排序,Linux操作系统中排序命令Sort的使用方法

    语法格式 sort [ -A ] [ -b ] [ -c ] [ -d ] [ -f ] [ -i ] [ -m] [ -n ] [ -r ] [ -u ] [ -o OutFile ] [ -t C ...

  6. linux下sort命令使用详解---linux将文本文件内容加以排序命令

    转载自:http://www.cnblogs.com/hitwtx/archive/2011/12/03/2274592.html linux下sort命令使用详解---linux将文本文件内容加以排 ...

  7. linux sort命令 排序,Linux sort排序方法

    在文件的操作过程中,因为文件过多,往往需要进行一下排序,排序方法也就是从小到大排序或者从大到小排序.比如我们从nginx日志中需要找到访问量最长的url,那就需要对请求时间进行一个排序,根据请求时间长 ...

  8. linux命令 排序,linux之sort排序

    导读 在 Linux.BSD 或 Mac 的终端中使用 sort 命令,按自己的需求重新整理数据. 如果你曾经用过数据表应用程序,你就会知道可以按列的内容对行进行排序.例如,如果你有一个费用列表,你可 ...

  9. linux文件前三行如何排序,Sort工具Linux sort命令用于将文本文件内容加以排序。sort可针对文本文件的内容,以行为单位来排序。sort 常见选项b 忽略每行前面开始出...

    Sort工具 Linux sort命令用于将文本文件内容加以排序. sort可针对文本文件的内容,以行为单位来排序. sort 常见选项 b 忽略每行前面开始出的空格字符. -c 检查文件是否已经按照 ...

最新文章

  1. 嵌入式linux编程,嵌入式Linux学习笔记 - 嵌入式Linux基础知识和开发环境的构建_Linux编程_Linux公社-Linux系统门户网站...
  2. 计算机技能需求新排名:Python 仅排第 3,第 1 你可能猜不到哦
  3. HQL语句中数据类型转换,及hibernate中createQuery执行hql报错
  4. 最感动的一首现代诗(转)(修正了一点翻译)
  5. Compass 编译.scss文件的问题
  6. 一篇文章带你详解 HTTP 协议(下)
  7. 解决启动flanneld失败的方法
  8. qlineedit限制输入数字_Excel单元格限制录入,实用小技巧
  9. 如何把创建ECS(CreateInstance)作为触发器来触发函数计算
  10. otb100matlab,ECO for tracking 在 OTB100 基准测试和 VOT2016 数据集中的实验结果
  11. Windows Phone开发(40):漫谈关键帧动画之中篇 转:http://blog.csdn.net/tcjiaan/article/details/7559978...
  12. 用python批量发送短信_秒嘀云发送短信Python实现
  13. 加速计.陀螺仪的使用
  14. nginx界面管理工具之nginxWebUI 搭建与使用
  15. 记一次使用android studio分析app闪退原因的过程
  16. 3D游戏-作业三-空间与运动
  17. 0基础学3dmax建模难吗?
  18. 华为手机卡在升级界面_华为手机停在开机画面的解决方法【图文教程】
  19. 【音视频开发】基础知识:视频简介
  20. synergy软件的安装及配置(附下载地址)

热门文章

  1. Android 11 adb无线调试使用方法
  2. JSONArray与JSONObject
  3. 分享移动互联网:应用为王,安全至上
  4. Qt拼接文件路径方式总结
  5. opencv鱼眼矫正Java_使用OpenCV校准鱼眼镜头
  6. Promise和Axios
  7. vim之补全1(完全个人定制版)
  8. 基于JAVA流浪猫狗救助网站计算机毕业设计源码+数据库+lw文档+系统+部署
  9. AMD 显卡编译 pytorch 指南 ROCM + pytorch
  10. html怎么在文本框设置提示语,input输入框提示语