Linux sort 命令快速上手指南

 更新时间:2025年03月19日 08:49:24   作者:dashery  
作为运维工程师,处理日志、分析数据是家常便饭,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 命令内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • 在shell或者perl中改变字体或背景的颜色

    在shell或者perl中改变字体或背景的颜色

    有时候在运行别人写的脚本的时候,在黑乎乎的终端下显示了不同的颜色,好生的羡慕啊,今天就来分享一下,分别在shell和perl中怎么改变我们输出的字体的颜色
    2014-04-04
  • 详解Linux解压缩文件

    详解Linux解压缩文件

    这篇文章给大家介绍了Linux解压缩文件的命令,感兴趣的朋友跟随脚本之家小编一起看看吧
    2018-05-05
  • shell脚本实现日历的屏幕控制

    shell脚本实现日历的屏幕控制

    这篇文章主要为大家详细介绍了shell脚本实现日历的屏幕控制,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2019-07-07
  • Linux shell脚本对常见图片格式批量转换为PDF文件

    Linux shell脚本对常见图片格式批量转换为PDF文件

    Linux Debian12基于ImageMagick图像处理工具编写shell脚本用于常见图片png、jpg、jpeg、webp、tiff格式批量转PDF文件,”多个图片分开生成多个PDF文件“或者“多个图片合并生成一个PDF文件”,本文详细介绍了Linux shell脚本对常见图片格式批量转换为PDF文件的操作
    2024-12-12
  • Linux Shell脚本系列教程(六):数组和关联数组

    Linux Shell脚本系列教程(六):数组和关联数组

    这篇文章主要介绍了Linux Shell脚本系列教程(六):数组和关联数组,本文讲解了什么是数组和关联数组、定义打印普通数组、定义打印关联数组等内容,需要的朋友可以参考下
    2015-06-06
  • linux shell命令的常用快捷键

    linux shell命令的常用快捷键

    下面是一些shell的常用快捷键,快捷键玩熟悉了在一定程度上是可以提高工作效率滴
    2013-01-01
  • 利用linux的timerfd_create实现计时器示例分享

    利用linux的timerfd_create实现计时器示例分享

    这篇文章主要介绍了利用linux的timerfd_create实现计时器示例,需要的朋友可以参考下
    2014-02-02
  • Shell脚本位置参数的具体使用

    Shell脚本位置参数的具体使用

    本文主要介绍了Shell脚本位置参数的具体使用,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2023-03-03
  • Linux系统中同时执行多个脚本运行方法小结

    Linux系统中同时执行多个脚本运行方法小结

    文章详细解释了在命令行中使用&&,||,;和&符号来控制Python脚本的执行顺序和错误处理策略,&&确保前一个脚本成功后执行下一个,||则在前一个脚本失败后执行后续脚本,;无论前一个脚本是否出错都会执行下一个,而&则用于并行执行多个脚本,需要的朋友可以参考下
    2024-12-12
  • Linux实现压缩文件的生成与查看的常用命令总结

    Linux实现压缩文件的生成与查看的常用命令总结

    如果你是后端程序员,我想你一定见过*.tar.gz、*.zip、*.jar后缀的文件吧,这些都是压缩文件,那这些文件都是怎么生成的,又有哪些关键区别呢?本文将带你一起了解这些文件和配套的操作命令,以及其经常使用的场景
    2022-09-09

最新评论