目录
什么是sort命令
sort命令,是一个用于给文本中的每一行排序的命令。在排序中非常实用。
sort命令的参数
sort命令,它的参数是这样的:
sort [选项] 文件 ...
其中,“文件”就指进行排序的文件。
sort命令的选项
sort命令的参数,虽然的确是十分的简单易记。但借助sort命令的选项,能够让你更能方便地使用sort命令。
选项 | 用途 | 记巧 |
---|---|---|
-b | 忽略文本前面的空格 | -b = ignore-front-blanks |
-d | 忽略除空格,数字及字母之外的字符,并以“空格<数字<字母”的方式进行排序 | |
-f | 忽略字母的大小写 | |
-g | 以“空格<字母<数字”的方式排序 | |
-i | 忽略非打印字符 | |
-m | 将两个已排序的文本文件合并在一起 | -m = merge |
-M | 对月份进行排序 | -M = month |
-h | 排序我们人类可读的数字 | -h = human |
-n | 根据由字符串转换成的数字进行排序 | -n = num |
-R | 随机排序,但与shuf命令不同,会将每一行相同的文本进行分组 | -R = random |
-r | 降序排序 | -r = reverse |
-u | 去重排序 | -u = unique |
-V | 版本号排序 | -V = version |
sort命令的实例
学完sort命令之后,接下来就要去实际的用sort命令了。下面就是做实例时需要的t.txt文本文件。
1 3!
abc
1!@
Hahaha
OOO0
1234432
653432
10000KB
1M
7777777777777777
7777777777777777
-00000
nOVERbER
JANuary
MAY MAY MAY
FEB
MAR
JUL
OCt
1.0.0
3.3.3.3.3.3.3.3.3.127.0.0.1
5.7.3
1. 将t.txt文件进行升序排序
sort t.txt
2. 将t.txt文件进行降序排序
sort -r t.txt
3. 将t.txt文件先进行版本号排序,再进行月份排序
sort -V t.txt | sort -M
4. 将t.txt文件忽略字母大小写进行去重排序
sort -fu t.txt
5. 将有1-30的序列的ta.txt文件和有20-50的序列的tb.txt文件合并在一起,并以数字进行排序
5.1 创建有1-30的序列的ta.txt文件和有20-50的序列的tb.txt文件
echo {1..30} | awk -v i=1 '{for(i=1;i<=30;i++){print $i}}' > ta.txt
echo {20..50} | awk -v i=1 '{for(i=1;i<=30;i++){print $i}}' > tb.txt
5.2 将ta.txt文件和tb.txt文件合并在一起,并以数字进行排序
sort -hm ta.txt tb.txt
下篇预告
xargs命令——多行变单行的实用命令