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

如何在Linux中按指定列排序.txt文件?

按指定列排序文本文件的sort命令用法

嘿,作为Linux新手能想到用sort命令来解决这个排序需求,已经找对方向啦!咱们把这个问题拆解清楚,一步步实现你要的功能:

核心用法:用-k参数指定排序列

sort命令默认是按整行的字典序排序,但要按指定列排序的话,关键参数是-k(代表key),语法很简单:

sort -k N your_file.txt

这里的N就是你要排序的列数,比如你说的按第2列(second_name)排序,直接运行:

sort -k 2 your_file.txt

适配你的脚本场景

因为你是在telcat脚本里读取变量N,所以脚本里的命令要写成这样(记得给变量加双引号,避免特殊字符或空格导致的问题):

# 假设你的文本文件名为contacts.txt
sort -k "$N" contacts.txt

这样当脚本里的N被赋值为2时,就会自动按second_name排序;赋值为4时,就按phone number排序,完全符合你的需求。

额外实用选项(新手友好)

  • 如果某一列是数字(比如phone number),想要按数值大小排序而不是字典序,加上-n参数:
    sort -n -k 4 your_file.txt
    
  • 想要倒序排序?加上-r参数就行:
    sort -r -k 2 your_file.txt
    
  • 如果你的文件里有连续多个空格作为分隔符,不用担心,sort默认会把连续的空白字符(空格、制表符等)当成一个分隔符,不需要额外处理。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.15 04:31:12