shell的sort命令
sort命令以行为单位对文本进行排序。
命令语法:
sort [-b/d/f/g/i/M/n/r] [InFile]
参数解释:
-b: ignore-leading-blanks,忽略前面空格符部分
-d: data-order,仅考虑空格和字母数字字符
-f: ignore-case,忽略大小写
-g: general-numeric-sort,根据一般数值进行排序
-i: ignore-nonprinting,忽略不可打印的字符,比如换行符、回车符
-M: month-sort,以月份进行排序
-n: numeric-sort,根据字符串数值进行排序
-r: reverse,反向输出排序结果
其他参数:
-c: check,检查文本是否已排序,如果不是,则输出第一个乱序的行的相关信息,返回1
-k N: key,以第N列进行排序
-m S1 S2: merge,合并已排序的S1、S2文本,不再排序
-o File: output,将结果写入File中
-s: stable,通过禁用最后的比较来稳定排序
-t sep: field-separator,使用sep作为分隔符来区分列
-u: unique,去掉重复的行
-z: 零终止的结束行,0字节,而不是换行符
栗子
# sort.txt 1 mac
winxp
linux
win7
linux
1. 以数字进行排序
1) - n
sort -n sort.txt
结果为:
mac
linux
linux
winxp
win7
2) - g
sort -g sort.txt
结果为:
mac
linux
linux
winxp
win7
2. 反向排序
sort -r sort.txt
结果为:
win7
winxp
linux
linux
mac
3. 以指定列进行排序(以下为第三列)
sort -k sort.txt
结果为:
linux
linux
win7
mac
winxp
4.排序结果去除重复的行
sort -u sort.txt
结果为:
mac
linux
winxp
win7
5.合并两个已排序的文本
sort -m sort.txt uniq.txt
只是单纯的合并,不会进行排序
shell的sort命令的更多相关文章
- shell之sort命令
1 sort的工作原理 sort将文件的每一行作为一个单位,相互比较,比较原则是从首字符向后,依次按ASCII码值进行比较,最后将他们按升序输出. [rocrocket@rocrocket progr ...
- [shell基础]——sort命令
sort命令 sort是按照ASCII码升序输出,且是从首字符依次向后比较的 常见选项 -c 测试文件是否已经被排序 -r 逆向排序 -n 按照数字数值大小排序 -t 指定分割 ...
- 【shell】sort命令
[root@andon ~]# sort 1 ##常用正序自动排序 101 paul 18 100 102 suan 11 99 103 peter 18 98 id name age score [ ...
- Linux Shell编程 sort、wc命令
sort命令:字符串排序 sort 命令可以依据不同的数据类型来进行排序.sort 将文件的每一行作为一个单位,相互比较.比较原则是从首字符向后,依次按 ASCII 码值进行比较,最后将它们按升序输出 ...
- 单行bash、shell、perl命令
主题:单行经典bash.shell.perl命令 作者:luomg 摘要: 会陆陆续的写自己工作中的常用有意思的命令,争取你能看完后就能搞定常见操作, 且尽量自少提供基本shell.perl的实现方式 ...
- 文本排序的王者:玩透sort命令
本文目录: 1.1 选项说明 1.2 sort示例 1.3 深入研究sort sort是排序工具,它完美贯彻了Unix哲学:"只做一件事,并做到完美".它的排序功能极强.极完整,只 ...
- Linux的sort命令
Linux的sort命令 Linux的sort命令就是一种对文件排序的工具,sort命令的功能十分强大,是Shell脚本编程时常使用的文件排序工具. sort命令将输入文件看做由多条记录组成的数据流 ...
- linux常用命令:sort 命令
sort 命令是Linux系统下一种对文件排序的工具,sort 命令功能十分强大,是 Shell 脚本编程是常用的文件排序工具. 1.命令格式: sort [选项]... [文件]... 或:sort ...
- 【转】linux sort 命令详解
sort是在Linux里非常常用的一个命令,管排序的,集中精力,五分钟搞定sort,现在开始! 1 sort的工作原理 sort将文件的每一行作为一个单位,相互比较,比较原则是从首字符向后,依次按AS ...
随机推荐
- Rxjava - 操作符,线程操作的简单使用
目录 创建操作符 10种常用的操作符定义 下面做几个操作符的demo演示 create from repeat defer interval Scheduler 什么是Scheduler? 如何使用S ...
- Fiddler 抓包浅析
Fiddler 工具浅析 Fiddler 是位于客户端和服务器端的 HTTP 代理,也是目前最常用的 HTTP 抓包工具之一.(Mac OS 建议采用 Charles) 它可以记录客户端和服务器之间的 ...
- 分布式消息队列RocketMQ与Kafka架构上的巨大差异
分布式消息服务 Kafka 是一个高吞吐.高可用的消息中间件服务,适用于构建实时数据管道.流式数据处理.第三方解耦.流量削峰去谷等场景,具有大规模.高可靠.高并发访问.可扩展且完全托管的特点,是分布式 ...
- 2019 年软件开发人员必学的编程语言 Top 3
AI 前线导读:这篇文章将探讨编程语言世界的现在和未来,这些语言让新一代软件开发者成为这个数字世界的关键参与者,他们让这个世界变得更健壮.连接更加紧密和更有意义.开发者要想在 2019 年脱颖而出,这 ...
- maven:新建的maven工程需要添加一下插件
//下面的代码是改变maven的默认使用Java版本,本机是jdk1.7所以用1.7<plugins> <plugin> <groupId>org.apache.m ...
- MVC 漫长之路(一)
1.新建项目 mvc 视图引擎选中 Razor 2.允许我们设置这个项目关于 MVC 的一些设置,确认选中了“空”项目模板 3. 4.打开 Global.asax 文件 配置路由名称等 ...
- 第十章I/O
系统级i/o 开始进程时的三个标准: 标准输入(描述符0):STDIN_FILENO 标准输出(描述符1):STDOUT_FILENO 标准错误(描述符2):STDERR_FILENO 文件位置: 从 ...
- 5233杨光--Linux第一次实验
学习计时:共14小时 读书:2小时 代码:7小时 作业:2小时 博客:3小时 一.学习目标 1. 能够独立安装Linux操作系统 2. 能够熟练使用Linux系统的基本命令 3. 熟练使用Li ...
- mysql 官方集群
一.环境准备(Centos7,mysql-cluster-gpl-7.5.6-linux-glibc2.5-x86_64.tar.gz) 卸载以前安装的Mysql 或者 mariadb yum -y ...
- iOS 开发学习-类的创建与实现,与java语言的对比
Person.h #import <Foundation/Foundation.h> @interface Person : NSObject { //在{}中定义属性(全局变量/实例变量 ...