参考资料
- 【 sort 】コマンド――テキストファイルを行単位で並べ替える
- sortコマンドとは?Linuxコマンドでファイルの中身を並び替えする方法をご紹介
目录
- 一. 配置项
- 二. -n -r -u 配置项
- 三. -f -b 配置项
- 四. -k -t 配置项
- 4.1 指定CSV文件内字段排序
- 4.2 根据查询出的文件从大到小排序
一. 配置项
配置项(简写) | 配置项(全称) | 说明 |
---|---|---|
-n | --numeric-sort | 将字符串当做数值进行排序 |
-r | --reverse | 从大到小,降顺排序(默认从小大排序) |
-u | --unique | 去重 |
-f | --ignore-case | 忽略大小写排序 |
-b | --ignore-leading-blanks | 忽略最前头的空白(默认启用),然后进行排序 |
-k | --key | 指定排序的字段(一般和 -t 配置项结合使用) |
-t | --field-separator | 指定字段之间的切分文字(一般和 -k 配置项结合使用) |
二. -n -r -u 配置项
📚sort1.txt
32
1
111
567
22222
9
32
111
⏹ -u 去重
sort -u sort1.txt
⏹ -n 将字符串当做数字排序
sort -un sort1.txt
⏹ -r 从大到小排序
sort -unr sort1.txt
三. -f -b 配置项
📚sort2.txt
appaeCell
ball
excelWclj
Appls
Dwx
⏹ -f 忽略大小写排序,-b 忽略最前头的空白(默认启用)
四. -k -t 配置项
⏹ -k 指定排序字段,-t 指定字段之间的切分文字
- 默认情况下,sort 会在每一行的开头检查排序的顺序,如果需要按照其他位置的字段进行排序,可以使用 -k 选项。
4.1 指定CSV文件内字段排序
📚sort3.csv
OSAKA,M,20,STUDENT
TOKYO,F,26,STUDENT
KANAGAWA,F,23,STUDENT
KYOTO,M,21,STUDENT
OKINAWA,F,42,STUDENT
NAGANO,M,19,STUDENT
# 根据第3列从小到大排序
sort -t"," -k3n sort3.csv
# 根据第3列从大到小排序
sort -t"," -k3nr sort3.csv
4.2 根据查询出的文件从大到小排序
ls -l ~/uwsgi-2.0.18/core | awk '{if($5 > 100000) print $0}' | sort -k5,5nr