linux 中 sort -k选项
001、简单测试
[root@PC1 test1]# ls a.txt [root@PC1 test1]# cat a.txt ## 测试数据 01 02 03b 34 05 86 87a 98 09 10 41b 12 13 54 15i 16 17 18 19a 20 [root@PC1 test1]# sort -k 4 a.txt ## 按照第四列进行排序 09 10 41b 12 13 54 15i 16 17 18 19a 20 01 02 03b 34 05 86 87a 98 [root@PC1 test1]# sort -k 3 a.txt ## 按照第三列继续排序 01 02 03b 34 13 54 15i 16 17 18 19a 20 09 10 41b 12 05 86 87a 98
。
002、-k域的字段
[root@PC1 test1]# ls a.txt [root@PC1 test1]# cat a.txt ## 测试数据 01 02 03b 34 05 86 87a 98 09 10 41b 12 13 54 15i 16 17 18 19a 20 [root@PC1 test1]# sort -k 3.3,3.3 a.txt ## 指定第三个域的第三个字符排序,无效 09 10 41b 12 01 02 03b 34 13 54 15i 16 05 86 87a 98 17 18 19a 20 [root@PC1 test1]# sort -t " " -k 3.3,3.3 a.txt ## 使用-t选项指定域的分隔符,生效, 为什么? 05 86 87a 98 17 18 19a 20 01 02 03b 34 09 10 41b 12 13 54 15i 16
。
003、
[root@PC1 test1]# ls a.txt [root@PC1 test1]# cat a.txt ## 测试数据 01 02 03b 34 05 86 87a 98 09 10 41b 12 13 54 15i 16 17 18 19a 20 [root@PC1 test1]# sort -k 2.2 a.txt ## 依据第二个字段的第二个字符排序 01 02 03b 34 09 10 41b 12 17 18 19a 20 13 54 15i 16 05 86 87a 98 [root@PC1 test1]# sort -t " " -k 2.2 a.txt ## 使用-t选项指定空格为分隔符生效 09 10 41b 12 01 02 03b 34 13 54 15i 16 05 86 87a 98 17 18 19a 20
。
004、
[root@PC1 test1]# ls a.txt [root@PC1 test1]# cat a.txt ## 测试数据 01 02 03b 34 05 86 87a 98 09 10 41b 12 13 54 15i 16 17 18 19a 20 [root@PC1 test1]# sort -k 2.2 a.txt ## 无效 01 02 03b 34 09 10 41b 12 17 18 19a 20 13 54 15i 16 05 86 87a 98 [root@PC1 test1]# sort -t "\t" -k 2.2 a.txt ## 指定制表符分隔符,无效 sort: multi-character tab ‘\\t’ [root@PC1 test1]# sort -t $'\t' -k 2.2 a.txt ## 指定制表符分隔符 09 10 41b 12 01 02 03b 34 13 54 15i 16 05 86 87a 98 17 18 19a 20
。
005、
[root@PC1 test1]# ls a.txt [root@PC1 test1]# cat a.txt ## 测试数据 01 02 03b 34 05 86 87a 98 09 10 41b 12 13 54 15i 16 17 18 19a 20 [root@PC1 test1]# sort -t $'\t' -k 2.2 a.txt ## 按照第二个字段的第二个字符开始排序 09 10 41b 12 01 02 03b 34 13 54 15i 16 05 86 87a 98 17 18 19a 20 [root@PC1 test1]# sort -t $'\t' -kr 2.2 a.txt ## 逆向排序指定失败 sort: invalid number at field start: invalid count at start of ‘r’ [root@PC1 test1]# sort -t $'\t' -k 2.2r a.txt ## 逆向排序 17 18 19a 20 05 86 87a 98 13 54 15i 16 01 02 03b 34 09 10 41b 12
。
分类:
linux shell
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 单元测试从入门到精通
· 上周热点回顾(3.3-3.9)
· winform 绘制太阳,地球,月球 运作规律
2023-11-05 /lib64/libz.so.1: version `ZLIB_1.2.9' not found (required by ./rmblastn)
2023-11-05 linux 中 shift命令
2023-11-05 linux将Bash数组的元素连接为分隔符分隔的字符串
2023-11-05 linux shell 脚本中local的用法
2023-11-05 linux shell中 创建数组及数组的基本操作
2021-11-05 could not find function "read_excel"
2021-11-05 R语言中计算几何平均数