[Linux-脚本]排序、统计、合并命令
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-脚本]排序、统计、合并命令的更多相关文章
- Linux文件排序工具 sort 命令详解
sort是排序工具,它完美贯彻了Unix哲学:"只做一件事,并做到完美".它的排序功能极强.极完整,只要文件中的数据足够规则,它几乎可以排出所有想要的排序结果,是一个非常优质的工具 ...
- Linux基础--分类与合并命令
1.sortsort命令将许多不同的域按不同的顺序分类,sort命令的一般格式为: sort -cmu -o output_file [other options] +pos1 +pos2 input ...
- Linux下的paste合并命令详解
paste单词意思是粘贴.该命令主要用来将多个文件的内容合并,与cut命令完成的功能刚好相反. 粘贴两个不同来源的数据时,首先需将其分类,并确保两个文件行数相同.paste将按行将不同文件行信息放在一 ...
- linux脚本中有source相关命令时的注意事项
写这个问题起因是因为一个同学去的java一键脚本环境变量设置问题, [root@localhost u01]# more 1.sh #!/bin/bash grep -q "export J ...
- Linux Shell编程第5章——文件的排序、合并和分割
目录 sort命令 sort命令的基本用法 uniq命令 join命令 cut命令 paste命令 split命令 tr命令 tar命令 sort命令 sort命令是Linux系统一种排序工具,它将输 ...
- 11.4.2 排序或合并文件(sort命令) - 51CTO.COM
11.4.2 排序或合并文件(sort命令) - 51CTO.COM 11.4.2 排序或合并文件(sort命令) 2010-03-12 14:37 陆松年 电子工业出版社 我要评论(0) 字号:T ...
- 详解如何在 Linux 启动时自动执行命令或脚本
我一直很好奇,在启动 Linux 系统并登录的过程中到底发生了什么事情.按下开机键或启动一个虚拟机,你就启动了一系列事件,之后会进入到一个功能完备的系统中,有时,这个过程不到一分钟.当你注销或者关机时 ...
- 如何在Python脚本中调用外部命令(就像在linux shell或Windows命令提示符下输入一样)
如何在Python脚本中调用外部命令(就像在linux shell或Windows命令提示符下输入一样) python标准库中的subprocess可以解决这个问题. from subprocess ...
- Linux执行shell脚本方式及区别&命令后台运行
Linux执行shell脚本方式及区别&命令后台运行 http://blog.csdn.net/heqiyu34/article/details/19089951/
随机推荐
- Deep Learning 22:总结一些deep learning的基本知识
1.交叉熵代价函数 2.正则化方法:L1和L2 regularization.数据集扩增.dropout 3. 数据预处理 4.机器学习算法中如何选取超参数:学习速率.正则项系数.minibatch ...
- Memcached的使用
为什么要使用Memcached? 1)高并发访问数据库的痛:死锁 2)磁盘IO之痛 3)读写性能完美 4)超简单的集群搭建Cluster 5)开源 6)性能最佳 7)丰富的成功案例 Memcached ...
- contiki-断点的保存和恢复
保存断点 保存断点是通过保存行数来完成的,在被中断的地方插入编译器关键字_LINE_,编译器便自动记录所终端的行数.展开那些具有中断功能的宏,可以发现最后保存行数是宏LC_SET,取宏PROCESS_ ...
- [分享] 《步步为营封 Win7》--skyfree
[分享] <步步为营封 Win7>--skyfree Skyfree 发表于 2009-9-13 05:51:32 https://www.itsk.com/thread-20957-1- ...
- 多线程环境的UI控件属性更新
Winform: public delegate void UpadataTextCallBack(string str,TextBox text); public void UpadtaText(s ...
- Java-用switch判断季节
import java.util.*;class Demo3 { public static void main(String[] args) { //需求 :输入一个月份 ,判断月份属于哪一个季节 ...
- nullable,nonnull, null_resettable以及_Null_unspecified的区别和使用
1.关键字:可以用于属性 方法和返回值参数中 关键字作用:提示作用 告诉开发者属性信息 关键字的目的:迎合swift 强语言,swift必须要指定一个对象是否为空 关键字好处:提高代码规划,减少沟通 ...
- Java中用ClassLoader载入各种资源(类、文件、web资源)的方法
lassLoader主要对类的请求提供服务,当JVM需要某类时,它根据名称向ClassLoader要求这个类,然后由ClassLoader返回这个类的class对象. ClassLoader负责载入系 ...
- ElasticSearch 5.0.1 java API操作
今天来说下使用ES 5.0.1的API来进行编码. 开始之前,简单说下5.0.1跟之前的几个变化.之前的ES自身是不支持delete-by-query的,也就是通过查询来删除,可以达到批量的效果,是因 ...
- JAVA语法02之课程问题解决
(一)示例程序+运行结果: ①EnumTest.java public class EnumTest { public static void main(String[] args) { Size s ...