[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/
随机推荐
- 一次java性能调优总结
我们的系统中新开发了一个数据抽取的功能,东西做完后,一看执行时间那叫一个恼火.参考同类系统同样功能的执行时间,目标:将本地数据处理时间压缩到5秒以内. 第一步: 要想知道哪个地方需要优化,仅凭感觉 ...
- Android Intent
Intent在Android中的重要性不言而喻.本文主要总结下Intent使用过程中需要注意的一些问题. 1.隐式Intent AndroidManifest.xml声明时<intent-fil ...
- ROS学习笔记(八)——ROSTOPIC
NEW 1 $ roscore NEW 2 $ rosrun turtlesim turtlesim_node NEW 3 $ rosrun turtlesim turtle_teleop_key N ...
- js 刷新窗口
在js 方法里面 1.window.opener.location.reload() 刷新父窗口 2.window.location.reload() 该方法强迫浏览器刷新当前 ...
- [WPF]TextTrimming截断后,ToolTip显示完整信息
文本过长被截断后,用ToolTip显示完整信息. 文本未被截断,则不显示ToolTip. 值转换器: public class TrimmedTextBlockVisibilityConverter ...
- C# GDI+发生一般性错误(A generic error occurred in GDI+))
解决思路: 1. 因为 .net GDI+ 是对底层 的封装. 所以可以尝试用 Marshal.GetLastWin32Error();函数获得底层错误代码. try{ image.Save(file ...
- mybatis中 ${}和#取值小记(Parameter index out of range)
mybatis mapperxml文件中有两种取值法.${}和#{} $的是原样,#的是取值并转成指定?#{ele1,jdbcType=VARCHAR} 有个坑, 错误的写法 <if test= ...
- 解决ora-00054 Oracle锁表问题
1.运行sql: select session_id from v$locked_object; 查出锁表的session,可能很多,正常是没有的 2.SELECT sid, serial#, u ...
- MVC思想
MVC英文即Model-View-Controller,即把一个应用的输入.处理.输出流程按照Model.View.Controller的方式进行分离,这样一个应用被分成三个层--模型层.视图层.控制 ...
- 我需要在Web上完成一个图片上传的功能后续(+1)
微信入口施工完成.关键字识别中增加了本次活动的"关键字",在系统中增加了链接.不过,由于地址包含私密关键参数,这里隐藏,敬请原谅. 下一步,微信链接的地址页面是要对微信用户的信息进 ...