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

如何在Bash中按YYYYMMDDHHMMSSTTT格式时间戳对文件行排序?

按毫秒级时间戳排序Bash脚本输出文件

嗨,作为Bash新手能写出正则匹配的脚本已经很棒啦!针对你要按YYYYMMDDHHMMSSTTT格式的毫秒级时间戳排序文件行的需求,其实用sort命令就能轻松搞定,给你几个实用的方案:

  • 基础快速排序:因为你的时间戳是固定长度的纯数字字符串,且是每行的第一列(逗号分隔),直接使用默认的sort命令就完全够用:

    sort input.csv > sorted.csv
    

    原理是sort默认按字符顺序比较,而固定长度的时间戳字符串从左到右的字符顺序正好对应时间先后,比如20180301050630663会自然排在20180301050630664前面,完美匹配你的排序需求。

  • 明确指定列排序(更严谨):如果担心后续列位置变化,或者想明确指定按第一列的时间戳排序,可以指定分隔符和排序列:

    sort -t ',' -k 1,1 input.csv > sorted.csv
    

    参数说明:

    • -t ',':指定每行的字段分隔符为逗号
    • -k 1,1:表示仅基于第1列进行排序,避免其他列的内容干扰
  • 稳定排序(保留重复时间戳的原顺序):如果文件中有相同时间戳的行,你希望保持它们在原文件中的先后顺序,可以添加-s参数启用稳定排序:

    sort -s -t ',' -k 1,1 input.csv > sorted.csv
    

    -s参数会让sort在遇到相同排序键的行时,保留它们在输入文件中的原始顺序。

小提示

如果你的文件体积较大,不用担心内存问题,sort默认会自动使用临时文件处理大文件;如果想要直接覆盖原文件(记得先备份!),可以用-o参数指定输出文件:

sort -o input.csv input.csv

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.25 03:47:56