1、排序命令 - sort:

sort可以帮我们进行排序,排序顺序按照LANG(语系环境变量)确定。据观察,sort排序以行为单位进行。排序以第一个不相同的字符决定先后顺序(只与第一个不相同的字符相关)。sort命令调用格式为:  sort [-fbMnrtuk] [file or stdin]

其具体选项解释为:

  • -f   : 忽略大小写的差异,例如 A 与 a 视为编码相同;
  • -b  : 忽略最前面的空格部分;
  • -M : 以月份的名字来排序。例如 JAN,DEC等的排序方法;
  • -n  : 使用“纯数字”进行排序(默认是以文字类型来排序的);
  • -r   : 反向排序;
  • -u  : 就是uniq,相同的数据中,仅出现一行代表;
  • -t   : 分隔符,默认使用[tab]键来分隔;
  • -k  : 以那个区间(field)来进行排序的意思。
  • 其它选项

sort的选项基本没多大用处,一般直接用sort就解决问题了。

2、统计-wc:

这个一个非常简单的命令,就是统计文件中的行数、单词数(统计空白字符)、字符数。

具体选项解释:

  • -l : 仅列出函数;
  • -w : 仅列出单词数(被空白字符分隔的东西,你如果愿意每个汉字间用空白字符分隔开,也可以统计出来);
  • -m : 仅列出字符数。
  • -c : 列出字节数

注意事项:

  • 不带选项调用wc会输出三个项,分别是行数、单词数、字符数,就相当于调用了-lwm;
  • 函数是统计行结束符的,如果最后一行没有行结束符则统计不出来(实测结果),事实上man给出的-l的解释是“列出new line的数目”;

3、排序后合并-uniq:

强调排序后合并是因为uniq只能在相邻行之间发生关系,所以一般得先用sort排序后才能发挥作用。uniq主要作用是把相邻的重复数据合并显示。

具体选项解释:

  • -i: 忽略大小写字符的不同;
  • -c : 合并的同时进行计数,计数值显示在行的最前面。

[Linux-脚本]排序、统计、合并命令的更多相关文章

  1. Linux文件排序工具 sort 命令详解

    sort是排序工具,它完美贯彻了Unix哲学:"只做一件事,并做到完美".它的排序功能极强.极完整,只要文件中的数据足够规则,它几乎可以排出所有想要的排序结果,是一个非常优质的工具 ...

  2. Linux基础--分类与合并命令

    1.sortsort命令将许多不同的域按不同的顺序分类,sort命令的一般格式为: sort -cmu -o output_file [other options] +pos1 +pos2 input ...

  3. Linux下的paste合并命令详解

    paste单词意思是粘贴.该命令主要用来将多个文件的内容合并,与cut命令完成的功能刚好相反. 粘贴两个不同来源的数据时,首先需将其分类,并确保两个文件行数相同.paste将按行将不同文件行信息放在一 ...

  4. linux脚本中有source相关命令时的注意事项

    写这个问题起因是因为一个同学去的java一键脚本环境变量设置问题, [root@localhost u01]# more 1.sh #!/bin/bash grep -q "export J ...

  5. Linux Shell编程第5章——文件的排序、合并和分割

    目录 sort命令 sort命令的基本用法 uniq命令 join命令 cut命令 paste命令 split命令 tr命令 tar命令 sort命令 sort命令是Linux系统一种排序工具,它将输 ...

  6. 11.4.2 排序或合并文件(sort命令) - 51CTO.COM

    11.4.2 排序或合并文件(sort命令) - 51CTO.COM 11.4.2 排序或合并文件(sort命令) 2010-03-12 14:37 陆松年 电子工业出版社 我要评论(0) 字号:T ...

  7. 详解如何在 Linux 启动时自动执行命令或脚本

    我一直很好奇,在启动 Linux 系统并登录的过程中到底发生了什么事情.按下开机键或启动一个虚拟机,你就启动了一系列事件,之后会进入到一个功能完备的系统中,有时,这个过程不到一分钟.当你注销或者关机时 ...

  8. 如何在Python脚本中调用外部命令(就像在linux shell或Windows命令提示符下输入一样)

    如何在Python脚本中调用外部命令(就像在linux shell或Windows命令提示符下输入一样) python标准库中的subprocess可以解决这个问题. from subprocess ...

  9. Linux执行shell脚本方式及区别&命令后台运行

    Linux执行shell脚本方式及区别&命令后台运行 http://blog.csdn.net/heqiyu34/article/details/19089951/

随机推荐

  1. python成长之路【第九篇】:网络编程

    一.套接字 1.1.套接字套接字最初是为同一主机上的应用程序所创建,使得主机上运行的一个程序(又名一个进程)与另一个运行的程序进行通信.这就是所谓的进程间通信(Inter Process Commun ...

  2. IOC理解

    控制反转(反转控制):谁控制了谁? 就是交换控制权1.A a =new A();   要使用这个A 必须你去new他.控制权在a2.由第三方来进行创造这个A,你用的时候直接用就是.控制权在第三方. 3 ...

  3. 20161117__安装Qt5.3.2

    1.strings /usr/lib64/libstdc++.so.6 | grep GLIBCXX 2.yum install libGL-devel 2.在安装 Qt5.3.2x86的时候,会报错 ...

  4. MyISAM与InnoDB区别

    两种类型最主要的差别就是Innodb 支持事务处理与外键和行级锁.而MyISAM不支持.所以MyISAM往往就容易被人认为只适合在小项目中使用. 我作为使用MySQL的用户角度出发,Innodb和My ...

  5. zookeeper 安装 测试及集群

    centos 安装 zookeeper-3.5.2-alpha.tar.gz 网上搜索了 一下 安装教程 其实很简单 主要总结一下 中间遇到的坑 1.zookeeper 3.4.6 启动失败. 很有可 ...

  6. display:inline、block、inline-block的区别

    display:block就是将元素显示为块级元素. block元素的特点是: 总是在新行上开始: 高度,行高以及顶和底边距都可控制: 宽度不设是它的容器的100%,除非设定一个宽度 <div& ...

  7. forever让nodejs应用后台执行

    nodejs一般是当成一条用户命令执行的,当用户断开客户连接,运用也就停了,很烦人.如何让nodejs应用当成服务,在后台执行呢? 最简单的办法: $ nohup node app.js & ...

  8. 转载:ViewHolder为什么声明为static

    转自:http://www.cnblogs.com/bluestorm/p/5867061.html ListView优化中ViewHolder要不要定义为static静态内部类?   给学生讲课的时 ...

  9. for语句嵌套循坏性能的剖析

    日常工作中,处理数据难免会遇到遍历,for循环可能是我们用的比较多的了.本节就来探讨下for语句嵌套循环的性能,猜想下面两个语句的性能. 语句1 ; i < ; i++){ ; j < ; ...

  10. jquery 基础-Ajax应用

    使用load()方案异步请求数据 调用格式:load(url,[data],[callback]) 参数url为加载服务器地址,可选项data参数为请求时发送的数据,callback参数为数据请求成功 ...