linux 输入8个字母进行排序,Linux下使用sort进行排序
sort:可以实现依据不同的数据类型进行排序,其语法及常用参数格式如下:
sort [-bcfMnrtk][源文件][-o 输出文件]
补充说明:sort可针对文本文件的内容,以行为单位来排序。
参 数:
-b 忽略每行前面开始出的空格字符。
-c 检查文件是否已经按照顺序排序。
-f 排序时,忽略大小写字母。
-M 将前面3个字母依照月份的缩写进行排序。
-n 依照数值的大小排序。
-o 将排序后的结果存入指定的文件。
-r 以相反的顺序来排序。
-t 指定排序时所用的栏位分隔字符。
-k 选择以哪个区间进行排序。
1 sort的工作原理
sort将文件的每一行作为一个单位,相互比较,比较原则是从首字符向后,依次按ASCII码值进行比较,最后将他们按升序输出。
[root@gitlab ~]$ cat seq.txt
banana
apple
pear
orange
pear
[root@gitlab ~]$ sort seq.txt
apple
banana
orange
pear
pear
2 sort的-u选项
它的作用很简单,就是在输出行中去除重复行。
[root@gitlab ~]$ sort -u seq.txt
apple
banana
orange
pear
pear由于重复被-u选项无情的删除了。
3 sort的-r选项
[root@gitlab ~]$ cat number.txt
1
3
5
7
11
2
4
6
10
8
9
[root@gitlab ~]$ sort number.txt --sort默认的排序方式是升序
1
10
11
2
3
4
5
6
7
8
9
[root@gitlab ~]$ sort -n number.txt --排序程序将这些数字按字符来排序了,排序程序会先比较1和2,显然1小,所以就将10放在2前面
1
2
3
4
5
6
7
8
9
10
11
[root@gitlab ~]$ sort -n -r number.txt --r表示降序,n表示按数字进行排序
11
10
9
8
7
6
5
4
3
2
1
4 sort的-o选项
由于sort默认是把结果输出到标准输出,所以需要用重定向才能将结果写入文件,形如sort filename > newfile。
但是,如果你想把排序结果输出到原文件中,用重定向就需要使用追加的方式。
[root@gitlab ~]$ sort -n -r number.txt > number.txt
[root@gitlab ~]$ cat number.txt
[root@gitlab ~]$
number清空了。所以我们需要使用-o选项,它成功的解决了这个问题,让你放心的将结果写入原文件。这或许也是-o比重定向的唯一优势所在。
[root@gitlab ~]$ sort -n -r number.txt -o number.txt
[root@gitlab ~]$ cat number.txt
11
10
9
8
7
6
5
4
3
2
1
5 sort的-t选项和-k选项
[root@gitlab ~]$ cat facebook.txt
banana:30:5.5
apple:10:2.5
pear:90:2.3
orange:20:3.4
[root@gitlab ~]$ sort -n -k 2 -t : facebook.txt
apple:10:2.5
orange:20:3.4
banana:30:5.5
pear:90:2.3
这个文件有三列,列与列之间用冒号隔开了,第一列表示水果类型,第二列表示水果数量,第三列表示水果价格。那么我想以水果数量来排序,也就是以第二列来排序,如何利用sort实现?幸好,sort提供了-t选项,后面可以设定间隔符。(是不是想起了cut和paste的-d选项,共鸣~~)
指定了间隔符之后,就可以用-k来指定列数了。我们使用冒号作为间隔符,并针对第二列来进行数值升序排序,结果很令人满意。
6 其他的sort常用选项
-f会将小写字母都转换为大写字母来进行比较,亦即忽略大小写
-c会检查文件是否已排好序,如果乱序,则输出第一个乱序的行的相关信息,最后返回1
-C会检查文件是否已排好序,如果乱序,不输出内容,仅返回1
-M会以月份来排序,比如JAN小于FEB等等
-b会忽略每一行前面的所有空白部分,从第一个可见字符开始比较。
linux 输入8个字母进行排序,Linux下使用sort进行排序相关推荐
- linux 输入8个字母进行排序,Linux排序命令sort详解
语法格式sort [ -A ] [ -b ] [ -c ] [ -d ] [ -f ] [ -i ] [ -m] [ -n ] [ -r ] [ -u ] [ -o OutFile ] [ -t Ch ...
- vt linux tty中文,Linux输入子系统和tty关系影述
多转自 1.Linux输入子系统(Input Subsystem): 在Linux中,输入子系统是由输入子系统设备驱动层.输入子系统核心层(Input Core)和输入子系统事件处理层(Event H ...
- linux常用的文本编辑器(tr,uniq,sort,sed,awt)
sort命令文本排序工具 sort只影响输出结果,不影响源文件 sort以行为单位,以每行的ascii码值得大小进行升序排序. 格式:sort 待排序文件:将文件内的文本内容进行排序,a到z的这种 . ...
- Bitonic sort(双调排序)
最近在上Udacity的<Introduction to parallel programming>课程,里面介绍了一种很有趣的平行算法--Bitonic sort(双调排序)算法.在课程 ...
- 9个元素换6次达到排序序列_十大算法排序(Sorting Algorithm) Study notes
(自己手打的python实现代码以及整理的各路大神总结的知识点) 自用学习笔记,由于基于北美cs学习,文章大量中英混杂(谨慎食用) 十大排序算法: 插入排序 1)Insertion Sort 简单插入 ...
- 合并和排序 Linux 上的文件
在 Linux 上合并和排序文本的方法有很多种,但如何去处理它取决于你试图做什么:你是只想将多个文件的内容放入一个文件中,还是以某种方式组织它,让它更易于使用.在本文中,我们将查看一些用于排序和合并文 ...
- linux输出管道内容,Linux 输入/输出和管道(|)及相关的命令
此简书不再维护. 在系统默认情况下,shell从键盘读(接收)命令的输入,并将命令的输出显示(写)到屏幕上.shell的标准命令输入是Standard Input,标准输出(Standard Outp ...
- linux显示mem进行排序,Linux查看系统负载(CPU和MEM考虑)
查看占用CPU最高的10个进程 [tidb@:vg_adn_tidbCkhsTest:172.31.30.62 ~/tidb-ansible]$ps aux | grep -v PID | sort ...
- 安卓linux输入代码在哪里,输入 | Android 开源项目 | Android Open Source Project
Android 输入子系统名义上由遍历系统多个层的事件管道组成. 输入管道 在最低层,物理输入设备会生成描述状态更改(例如按键按压和轻触接触点)的信号.设备固件以某种方式编码和传输这些信号,例如向系统 ...
最新文章
- java线程——join
- R语言ggplot2包旋转(Rotate)可视化图像轴标签实战
- 咕泡-装饰器 decorator 设计模式笔记
- boot loader:Grub
- 第三讲:WCF介绍(3)
- 又发现一个关于R文件丢失的问题
- DirectX和DirectShow介绍和区别
- python twisted安装
- linux防火墙添加udp 123,centos下的ntp的安装和配置 (注意 防火牆的udp 123要打開,不然會不能用)...
- 根据工作年限预测工资python代码实现
- JavaFX UI控件教程(十四)之Tree View
- Servlet之第一个web项目
- TensorFlow 2 Object Detection API 教程: 安装
- HSQL转换成MapReduce过程
- 4 读写文件_WEB安全之SQL注入(4)——读写文件
- webstorm中代码添加单引号、双引号快捷键
- Html 页面底部添加版权信息11
- CSS盒子模型box-sizing属性详解
- 计算机语言中的计数器是什么,程序计数器的作用_程序计数器pc中存放的是什么...
- 2018-11高级软考试题考查知识点总结(试题1-20)
热门文章
- 埃森哲java开发怎么样_技术丨埃森哲Data Privacy 、商汤科技、平安科技人工智能(AI)类日常实习...
- IEC61850笔记--开源代码libIEC61850(二)
- openwrt 恢 复 出厂设置
- Step by Step WebMatrix网站开发之二:使用WebMatrix(3)
- 中国互联网Web2.0百强企业
- Zed Shaw:程序员的常见健康问题
- ICMP flood(ICMP洪水攻击)
- java计算机毕业设计基于springboot+vue+elementUI的旅游网站(源码+数据库+Lw文档)
- 无线列表html,无线web 开发经验(2)—— HTML
- 简介公开密钥算法和证书生成