热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

sortnr作用linux,sort命令

1.sort命令sort命令可以给文本进行排序。sort命令操作的是行。shell中sort命令有3中执行模式,分别是排序文本,检查文件是否已经排序&#

1.sort命令

sort命令可以给文本进行排序。sort命令操作的是行。

shell中sort命令有3中执行模式,分别是排序文本,检查文件是否已经排序,合并文件。

2.sort的使用

语法:

sort [选项] ...  [文件] ...

选项:

-b:忽略前面空格。

-c:测试文件是否已经排序。

-d:根据字典顺序排序,仅比较数字 字母 空格等字符。

-f:忽略大小写。

-i:仅比较可打印字符。

-n:纯数字排列

-R:根据哈希值随机排序。

-r:反向,颠倒顺序。

-k:定义排序关键字。原来的:第几个区间,与t相辅。

-t:分隔符

-m:仅仅合并已经排序好的文件,不执行排序操作。

-s:稳定的排序算法。

-o:排序结果写入文件,而不是标准输出到设备。

-u:相同的行只留一行

-M:月份

文件:

file:多个文件要使用空格分隔。

3.范例

3.1 不加选项进行升序排序

直接执行sort,不加选项,默认根据第一列的信息进行排序。

2595705588a4444d12827dd5e504203a.png

3.2 使用单行关键字排序 -k

默认是根据第一列来排序,使用-k选项来定义排序的关键字,语法如下:

-k pos1 [, pos2]

pos1 表示起始位置,pos2 表示结束位置。如果关键字的第一列相同,进行比较第二列。

-k pos 并不是表示只比较 pos 列,而是比较从 pos 列,到行尾的列。

1afa733beca54349208bf38e81a6e2c3.png

如何根据日志里面小时进行排序呢?(日志里的小时和日期写在一起,还有英文)

那就根据某列的第几个字符开始。格式如下:

-k pos1[.start] [, pos2[.end]]

pos1 表示起始位置,pos2 表示结束位置。

start 表示起始列的第几个字符。end 表示结束列的第几个字符。

案例略。

3.3 根据关键字降序排序 -r

默认的需要是升序排序,如果想倒叙排列,需要使用-r选项。

3fcc654c242808b563e9324bcf1e1f94.png

3.4 数值列的排序 -n

默认的排序是一个字符一个字符的比较。不能正确的比较出数值的大小,如果想比较出数值的大小需要使用 -n 选项。语法如下:两个等价

sort -n -k 2 1.txt

sort -k 2,2n 1.txt

上面的默认的排序,下面的是数值排序。上面的就把992排在了最下面。因为第一个字符9最大。

e18d8bb7730c83106be1e1dbc96f510c.png

3.5 自定义分隔符 -t

如果分隔符不是空格或者制表符,需要使用-t选项来指定分隔符。

sort -t ":" -r -k 3 /etc/passwd

d9ec0f19828299eca8d2e192bc1570a5.png

3.6 删除重复的行 -u

使用-u选项,可以去掉重复的行,但是不知道为什么去不掉带空格的那行。

d9e6cbefe8171dcb5762b2065bd87a28.png

3.7 根据多个关键字排序 -k -k

根据第一个列升序,和第二列数字倒叙,应该怎么排。

sort -k 1,1 -k 2,2rn 1.txt

a9bed6bcf06fde2eacfd3e4dd660a417.png

3.8 合并文件

sort可以将两个文件合并,同时对文件内容进行排序,语法如下:

sort file1  file2 ... > filen

21ba4163cd9a629c923c4090ee574d5b.png



推荐阅读
  • MQ的使用
    安装环境:linuxredhatactivemq版本:5.8.01.从http:activemq.apache.orgdownload.html地址下载 ... [详细]
  • Linux提权之suid篇
    Linux提权之suid篇不知攻,焉知防一个在安服路上摸索的大三生,记录平时学习笔记suid前言:1.只有可以执行的二进制程序文件才 ... [详细]
  • Linux负载均衡LVS(IPVS)
    一、LVS简介LVS是LinuxVirtualServer的简称,也就是Linux虚拟服务器,是一个由章文嵩博士发起的自由软件项目,现在已经是Linux ... [详细]
  • 转载自:http:www.hbtelecom.com.cndetail.asp?news_id78369_______________________________ ... [详细]
  • cherry-pick命令cherry-pick命令可以将另一分支的commit内容合并到当前分支。假如现在有两个分支v1.0,v1.1。v1.0有如下commit:commit4 ... [详细]
  • 各个组件confspark-env.sh配置spark的环境变量confspark-default.conf配置spark应用默认的配置项和spark-env.sh有重合之处,可在 ... [详细]
  • 安全3AAuthentication:认证Authorzation:授权Accouting|Audition:审计用户管理用户:UID:0,不一定是root,root的uid非0时 ... [详细]
  • 文章目录前言必知必会的软件服务器分类机架式服务器塔式服务器刀片式服务器三者的区别虚拟服务器(云服务器)服务器的硬件组成服务器常见的品牌前言本文是循序渐进学linux的第一课,为 ... [详细]
  • 1.数据准备#测试数组vectorc(5,34,65,36,67,3,6,43,69,59,25,785,10,11,14)vector##[1]53465366736436959 ... [详细]
  • 突然觉得服务器ssh密码登录总是浪费一定量的时间,就想试试用sshKey进行登录。生成服务器sshkey和本地sshkey$ssh-keygen在服务器上生成一个authorize ... [详细]
  • 一、域名解析记录说明记录类型A:用来指定域名的IPv4地址(如:8.8.8.8),如果需要将域名指向一个IP ... [详细]
  • 13Linux基本命令和配置服务器来电后自动开机
    本节所讲内容:Linux终端介绍Shell提示符BashShell基本语法基本命令的使用:ls、pwd、cd查看系统和BIOS硬件时间Linux如何获得 ... [详细]
  • 最近学习了数据挖掘常用的两种算法:FP-Growth和K-Means。现在把我的学习结果分享给大家。以下是本文的目录,大家可以根据需要跳过一些章节:1.FP-Grow ... [详细]
  • linux树莓派和n1,树莓派 斐讯N1 搭建NFS
    什么是NFS?1台Linux主机的磁盘可以通过网络挂载到其他Linux主机上,实现云盘效果。NFS是一套软件和协议,同时也是一种文件系统& ... [详细]
  • Lunix历史及如何学习
    1.Lunix是什么1.1Lunix是操作系统还是应用程序Lunix是一套操作系统,它提供了一个完整的操作系统当中最底层的硬件控制与资源管理的完整架构, ... [详细]
author-avatar
狗狗狗699_250
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有