【Shell】sort 笔记

简介: 写底层代码的时候,经常使用sort命令对文件或者文本进行排序,本文对sort做简单记录作为学习笔记。sort 的功能是将文件/文本的每一行作为一个单位,相互比较,比较原则是从首字符向后,依次按ASCII码值进行比较,最后将他们按升序输出。
写底层代码的时候,经常使用sort命令对文件或者文本进行排序,本文对sort做简单记录作为学习笔记。sort 的功能是将文件/文本的每一行作为一个单位,相互比较,比较原则是从首字符向后,依次按ASCII码值进行比较,最后将他们按升序输出。
常用的参数
  1. -t, --field-separator=SEP   分隔符:指定排序时所用到的栏位分隔符,通常和 k 一起使用
  2. -k, --key=POS1[,POS2]       指定需要排序的列数,比如-k 1,3 按照第一列和第三列排序。
  3. -b, --ignore-leading-blanks 忽略每行前面开始处的空格字符
  4. -d, --dictionary-order      排序时,处理英文字母、数字和空格字符,以字典顺序排序。忽略其他所有字符
  5. -f, --ignore-case           将小写字母视为大写字母进行排序。
  6. -i, --ignore-nonprinting    排序时,处理 040~176 之间的 ASCII 字符,忽略其他所有字符。
  7. -r, --reverse               以相反的顺序进行排序,倒序。
  8. -u  --unique                去掉重复的记录
其他排序参数:
  1. -g, --general-numeric-sort 按照数值大小进行排序。 和n在一般情况的都一致,对于科学计数的排序可以使用-g
  2. -n, --numeric-sort 按照字符的数值大小进行排序。
  3. -M, --month-sort 将前面3个字母按月份的缩写进行排序。
  4. -c, --check 检查文件是否已经按照顺序排序,排序过为真。
  5. -m, --merge 将几个排序好的文件进行合并。
  6. -o, --output=FILE 将排序后的结果存入FILE,不在控制台输出。



例子
?  ~ cat  1.txt
AA:BB:CC
aa:30:6
cc:50:3
dd:20:7
bb:10:2
ee:40:4
ee:60:1


以:分隔,按照第三列排序
?  ~ sort  -t: -k3 1.txt
ee:60:1
bb:10:2
cc:50:3
ee:40:4
aa:30:6
dd:20:7
AA:BB:CC
目录
相关文章
|
7月前
|
Shell 数据安全/隐私保护
shell中的通配符 熟悉grep、cut、sort等小工具和shell中的通配符的使用
shell中的通配符 熟悉grep、cut、sort等小工具和shell中的通配符的使用
81 0
|
6月前
|
机器学习/深度学习 Unix Java
技术笔记:Linux之Shell脚本编程(一)
技术笔记:Linux之Shell脚本编程(一)
66 0
|
7月前
|
存储 运维 Java
Linux笔记02 —— Shell补充
Linux笔记02 —— Shell补充
75 2
|
7月前
|
安全 Linux Shell
Linux笔记01 —— Linux初识与Shell汇总(请配合另一篇《Linux笔记02》一起使用)
Linux笔记01 —— Linux初识与Shell汇总(请配合另一篇《Linux笔记02》一起使用)
64 1
|
7月前
|
搜索推荐 算法 Java
sort-06-shell sort 希尔排序算法详解
这是一个关于排序算法的系列文章摘要。文章汇总了各种排序算法,包括冒泡排序、快速排序、选择排序、堆排序、插入排序、希尔排序、归并排序、计数排序、桶排序以及大文件外部排序。特别地,希尔排序是一种改进的插入排序,通过使用不同的步长对元素进行分组排序,以提高效率。算法最终以较小的步长进行排序,接近线性时间复杂度。文章还提供了Java代码实现,并举例说明了希尔排序的过程。所有内容可在开源项目[https://github.com/houbb/sort](https://github.com/houbb/sort)中找到。
|
Java Shell Linux
适合初学者的Shell核心知识笔记(下)
适合初学者的Shell核心知识笔记(下)
|
7月前
|
搜索推荐 算法 Shell
【Shell 命令集合 文档编辑 】Linux 排序命令 sort命令使用指南
【Shell 命令集合 文档编辑 】Linux 排序命令 sort命令使用指南
85 0
|
存储 Java Shell
Shell脚本入门(笔记)2
Shell脚本入门(笔记)
72 5
|
机器学习/深度学习 Java Shell
Shell脚本入门(笔记)1
Shell脚本入门(笔记)
71 1
|
Shell
shell脚本编程笔记(一)
.在位于头部的用以供shell明白应当以何种方式启动的该脚本的命令行中。可以提供额外参数。
57 0