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


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

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

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

  1. 按数值排序

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

    sort -n numbers.txt
  2. 逆序排列

    -r实现从大到小或从Z到A:

    sort -nr large_numbers.txt  # 数值逆序
  3. 按指定列排序

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

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

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

    sort -u ips.txt > unique_ips.txt
  5. 忽略大小写

    -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 命令快速上手指南的更多相关文章

  1. 云计算:Linux运维核心管理命令详解

    云计算:Linux运维核心管理命令详解 想做好运维工作,人先要学会勤快: 居安而思危,勤记而补拙,方可不断提高: 别人资料不论你用着再如何爽那也是别人的: 自己总结东西是你自身特有的一种思想与理念的展 ...

  2. 提高Linux运维效率的命令行常用快捷键

    提高Linux运维效率的命令行常用快捷键 tab 命令或路径等的补全键,Linux最有用快捷键 Ctrl+a 光标回到命令行首 Ctrl+e 光标回到命令行尾 Ctrl+k 剪切(删除)光标处到行尾的 ...

  3. linux运维中的命令梳理(一)

    在linux日常运维中,我们平时会用到很多常规的操作命令. 下面对常用命令进行梳理: 命令行日常系快捷键(不分大小写)CTRL + A 移动光标到行首CTRL + E 移动光标到行末CTRL + U ...

  4. linux运维中的命令梳理(二)

    回想起来,从事linux运维工作已近5年之久了,日常工作中会用到很多常规命令,之前简单罗列了一些命令:http://www.cnblogs.com/kevingrace/p/5985486.html今 ...

  5. linux运维中的命令梳理(三)

    ----------文本操作命令---------- sed命令:文本编辑工具 sed是一个很好的文件处理工具,本身是一个管道命令,主要是以行为单位进行处理,可以将数据行进行替换.删除.新增.选取等特 ...

  6. Linux就业技术指导(五):Linux运维核心管理命令详解

    一,Linux核心进程管理命令 1.1 ps:查看进程 1.1.1 命令解释 功能说明 ps命令用于列出执行ps命令的那个时刻的进程快照,就像用手机给进程照了一张照片.如果想要动态地显示进程,就需要使 ...

  7. linux运维中的命令梳理(四)

    ----------管理命令---------- ps命令:查看进程 要对系统中进程进行监测控制,查看状态,内存,CPU的使用情况,使用命令:/bin/ps (1) ps :是显示瞬间进程的状态,并不 ...

  8. Linux的压缩解压命令快速上手——解压篇

    在Linux系统中,压缩文件通常是先将若干文件(包括目录)打包成一个tar文件,然后再调用压缩程序将tar文件压缩成相应的压缩包,这也就是为什么Linux系的压缩包的后缀通常都是像tar.gz,tar ...

  9. 推荐linux运维必备的几本书

    首先,<鸟哥的linux私房菜> 鸟哥 其次,<linux就该这么学> 刘瑞版 然后,<CentOS linux系统运维> 张祥琳版 最后,<CentOS运维 ...

  10. linux 运维必备150个命令

    线上查询及帮助命令(1个) man 目录操作命令(6个) ls tree pwd mkdir rmdir cd 文件操作命令(7个) touch cp mv rm ln find rename 文件查 ...

随机推荐

  1. 在Android Studio中如何使用真机连接并调试App?

    前提:adb环境已经配置 手机端: 1.打开手机开发者权限,"设置" 中找到 "版本号",连续多次点击,会提示打开"开发者".我的是 &qu ...

  2. 在C#中通过使用Newtonsoft.Json库来解析天地图地理编码(GeoCoder)服务接口返回的Json格式的数据,以及HttpWebRequest 设置不完全时服务器返回“远程服务器返回错误: (403) 已禁止”解决方法

    天地图地理编码(GeoCoder)服务接口返回的Json格式的数据,如下所示: http://api.tianditu.gov.cn/geocoder?ds={"keyWord": ...

  3. 超实用 JMeter BeanShell Sampler 教程

    超实用 JMeter BeanShell Sampler 教程 宝子们,今天咱继续深挖 JMeter 里超厉害的 BeanShell Sampler,这次多来点实际工作中的例子,让你彻底搞懂它! 一. ...

  4. 一个超经典 WinForm,WPF 卡死问题的终极反思

    一:背景 1. 讲故事 写这篇文章起源于训练营里一位朋友最近在微信聊到他对这个问题使用了一种非常切实可行,简单粗暴的方式,并且也成功解决了公司里几个这样的卡死dump,如今在公司已是灵魂级人物,让我也 ...

  5. w3cschool-Spring Cloud

    https://www.w3cschool.cn/spring_cloud/spring_cloud-ryjs2ixg.html Spring Cloud(一)服务的注册与发现(Eureka) 202 ...

  6. 0425-字节输入流FileInputStream

    package A10_IOStream; import java.io.FileInputStream; import java.io.IOException; /* java.io.InputSt ...

  7. 提升质量:利用Coverage分析Python Web项目的测试覆盖

    提升质量:利用Coverage分析Python Web项目的测试覆盖 鉴于不同框架的运行机制各有差异,当利用Coverage工具对Python Web项目的测试覆盖率进行分析时,必须采取针对性的方法来 ...

  8. 刚刚!百度搜索“换脑”引爆AI圈,正式接入DeepSeek R1满血版

    一.今天发现百度搜索出现已接入DeepSeek的提示,再也不用担心使用DeepSeek时出现"服务器繁忙,请稍后再试."的问题了.   在百度搜索首页出现[即刻体验AI搜索Deep ...

  9. 库卡KUKA机器人KRC4伺服马达维修指导分析

    通常情况下,库卡机器人伺服电机是实现机器人的关键组件,它提供了动力.位置和速度控制力和扭矩控制以及闭环控制等功能,使得库卡机器人能够在各种应用场景中发挥机器本身的性能. 一. 如果KUKA库卡机器人K ...

  10. Chatbox接入硅基流动deepseek R1模型API

    Chatbox接入硅基流动deepseek R1模型API 注册硅基流动,填入邀请码会获得14元的免费额度 硅基流动最新邀请码:9MqV8tO4 注册硅基流动后 新建一个秘钥 回到模型广场,选择dee ...