You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Bash中如何使用sort命令实现多条件混合升降序排序

Linux sort多字段混合升降序排序解决方案

你遇到的问题核心是sort命令的-r参数默认作用于全局所有排序键,只需要为每个排序键单独指定排序规则即可解决,调整后的命令如下:

sort -t"," -k3,3nr -k2,2 "$FILE" > "$HOME"/people.txt

注:同时去掉了无意义的cat $FILE |管道写法,sort命令本身支持直接读取文件路径,减少不必要的进程开销

参数说明

  • -t",":全局指定字段分隔符为逗号
  • -k3,3nr:指定第一个排序键为第3个字段(对应age字段),其中n表示按数字类型排序,r表示仅对当前键启用降序排序,排序范围仅限定在第3个字段内
  • -k2,2:指定第二个排序键为第2个字段(对应surname字段),未额外指定排序方向时默认使用升序排序,不受其他键的降序参数影响

内容的提问来源于stack exchange,提问作者vojtam

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.27 05:54:07