当前位置: 代码网 > 服务器>服务器>Linux > Linux sort 命令快速上手指南

Linux sort 命令快速上手指南

2025年04月24日 Linux 我要评论
作为运维工程师,处理日志、分析数据是家常便饭。sort命令是linux中高效整理文本的神器,能快速对文件内容排序、去重、统计。本文用最简洁的方式,帮你掌握sort的核心用法。一、基础排序:秒杀杂乱文本

作为运维工程师,处理日志、分析数据是家常便饭。sort命令是linux中高效整理文本的神器,能快速对文件内容排序、去重、统计。本文用最简洁的方式,帮你掌握sort的核心用法。

一、基础排序:秒杀杂乱文本

# 默认按字典序升序排列(文件/输入流)
sort filename.txt
# 示例:对日志时间排序(假设第一列为时间)
sort /var/log/nginx/access.log

二、实用参数:精准控制排序

按数值排序处理数字时,务必用-n,避免"10"排在"2"后面!

sort -n numbers.txt

逆序排列-r实现从大到小或从z到a:

sort -nr large_numbers.txt  # 数值逆序

按指定列排序-k选择列,-t指定分隔符(如逗号、冒号):

# 按第2列(数值)排序csv文件
sort -t',' -k2n data.csv

去重-u快速清理重复行(需先排序):

sort -u ips.txt > unique_ips.txt

忽略大小写-f让"apple"和"apple"视为相同:

sort -f mixed_case.txt

三、运维实战场景

1. 统计日志ip访问频率

cat access.log | awk '{print $1}' | sort | uniq -c | sort -nr
  • 步骤拆解
    • awk提取ip列
    • sort排序以便uniq统计
    • uniq -c计数
    • sort -nr按访问量倒序

2. 按内存占用排序进程

ps aux --sort=-%mem | head -n 10
  • --sort=-%mem等价于sort -k4nr(按第4列内存倒序)

3. 合并多个已排序文件

sort -m file1.txt file2.txt > merged.txt
  • -m(merge)效率远高于重新排序大文件

四、避坑指南

性能优化
处理超大文件时,可用-t指定临时目录(避免默认分区空间不足):

sort -t /mnt/big_disk/tmp/ huge_file.txt

语言环境
非英文排序异常时,设置lc_all=c禁用本地化规则:

lc_all=c sort file.txt
  • 稳定排序
    若需保留等值行的原始顺序,加-s(stable sort)。

五、总结

sort + awk/uniq等命令组合,是运维分析数据的瑞士军刀。掌握核心参数:
-n(数值)、-k(列)、-t(分隔符)、-r(逆序)、-u(去重),即可应对90%的排序需求。

记住: 处理数据前,先用headsample.txt测试命令,避免直接操作大文件翻车!

到此这篇关于linux sort 命令快速上手指南的文章就介绍到这了,更多相关linux sort 命令内容请搜索代码网以前的文章或继续浏览下面的相关文章希望大家以后多多支持代码网!

(0)

相关文章:

版权声明:本文内容由互联网用户贡献,该文观点仅代表作者本人。本站仅提供信息存储服务,不拥有所有权,不承担相关法律责任。 如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 2386932994@qq.com 举报,一经查实将立刻删除。

发表评论

验证码:
Copyright © 2017-2025  代码网 保留所有权利. 粤ICP备2024248653号
站长QQ:2386932994 | 联系邮箱:2386932994@qq.com