如何在PowerShell中按第一列数值对文本字符串数据进行排序
按第一列数值排序文本的常用方法
方法1:Linux/macOS 终端直接使用sort命令
这是最快捷的方案,无需额外安装工具:
- 将你的文本内容保存为
data.txt文件 - 执行以下命令:
sort -n -k1 data.txt -o sorted_data.txt
参数说明:
-n:指定按数值顺序排序,避免默认字典序下10排在2前面的问题-k1:指定排序依据为第一列内容-o sorted_data.txt:将排序后的结果写入新文件sorted_data.txt,如果要直接覆盖原文件可以把输出文件名改成原文件名
排序后的输出结果如下:
0 X6300H_INJ.xtf CSFFILE0032 1 X6301H_INJ.xtf CSFFILE0033 2 X6311H_INJ.xtf CSFFILE0043 10 X6309H_INJ.xtf CSFFILE0041 11 X6310H_INJ.xtf CSFFILE0042
方法2:Windows PowerShell 原生命令
不用安装第三方工具,直接用系统自带的PowerShell执行:
Get-Content data.txt | Sort-Object { [int]($_ -split '\s+')[0] } | Set-Content sorted_data.txt -Encoding UTF8
方法3:Python 脚本实现(跨平台可用)
如果需要嵌入自己的业务流程,可以用Python几行代码实现:
# 读取原始文件 with open("data.txt", "r", encoding="utf-8") as f: lines = f.readlines() # 按第一列数值排序 lines.sort(key=lambda line: int(line.split()[0])) # 写入排序后的文件 with open("sorted_data.txt", "w", encoding="utf-8") as f: f.writelines(lines)
注意:以上三种方法都默认第一列内容为合法整数,如果存在非数值的第一列内容,需要先做数据清洗再执行排序操作。
内容的提问来源于stack exchange,提问作者Sam Alleman
相关产品推荐
相关产品推荐

