Linux sort 命令快速上手指南
作為運(yùn)維工程師,處理日志、分析數(shù)據(jù)是家常便飯。sort命令是Linux中高效整理文本的神器,能快速對(duì)文件內(nèi)容排序、去重、統(tǒng)計(jì)。本文用最簡(jiǎn)潔的方式,幫你掌握sort的核心用法。
一、基礎(chǔ)排序:秒殺雜亂文本
# 默認(rèn)按字典序升序排列(文件/輸入流) sort filename.txt # 示例:對(duì)日志時(shí)間排序(假設(shè)第一列為時(shí)間) sort /var/log/nginx/access.log
二、實(shí)用參數(shù):精準(zhǔn)控制排序
按數(shù)值排序處理數(shù)字時(shí),務(wù)必用-n,避免"10"排在"2"后面!
sort -n numbers.txt
逆序排列-r實(shí)現(xiàn)從大到小或從Z到A:
sort -nr large_numbers.txt # 數(shù)值逆序
按指定列排序用-k選擇列,-t指定分隔符(如逗號(hào)、冒號(hào)):
# 按第2列(數(shù)值)排序CSV文件 sort -t',' -k2n data.csv
去重-u快速清理重復(fù)行(需先排序):
sort -u ips.txt > unique_ips.txt
忽略大小寫-f讓"Apple"和"apple"視為相同:
sort -f mixed_case.txt
三、運(yùn)維實(shí)戰(zhàn)場(chǎng)景
1. 統(tǒng)計(jì)日志IP訪問頻率
cat access.log | awk '{print $1}' | sort | uniq -c | sort -nr- 步驟拆解:
awk提取IP列sort排序以便uniq統(tǒng)計(jì)uniq -c計(jì)數(shù)sort -nr按訪問量倒序
2. 按內(nèi)存占用排序進(jìn)程
ps aux --sort=-%mem | head -n 10
--sort=-%mem等價(jià)于sort -k4nr(按第4列內(nèi)存倒序)
3. 合并多個(gè)已排序文件
sort -m file1.txt file2.txt > merged.txt
-m(merge)效率遠(yuǎn)高于重新排序大文件
四、避坑指南
性能優(yōu)化:
處理超大文件時(shí),可用-T指定臨時(shí)目錄(避免默認(rèn)分區(qū)空間不足):
sort -T /mnt/big_disk/tmp/ huge_file.txt
語言環(huán)境:
非英文排序異常時(shí),設(shè)置LC_ALL=C禁用本地化規(guī)則:
LC_ALL=C sort file.txt
穩(wěn)定排序:
若需保留等值行的原始順序,加-s(stable sort)。
五、總結(jié)
sort + awk/uniq等命令組合,是運(yùn)維分析數(shù)據(jù)的瑞士軍刀。掌握核心參數(shù):-n(數(shù)值)、-k(列)、-t(分隔符)、-r(逆序)、-u(去重),即可應(yīng)對(duì)90%的排序需求。
記?。?/strong> 處理數(shù)據(jù)前,先用head或sample.txt測(cè)試命令,避免直接操作大文件翻車!
到此這篇關(guān)于Linux sort 命令快速上手指南的文章就介紹到這了,更多相關(guān)Linux sort 命令內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
shell進(jìn)度條追蹤指令執(zhí)行時(shí)間的場(chǎng)景分析
這篇文章主要介紹了shell進(jìn)度條如何追蹤指令執(zhí)行時(shí)間,本文中的進(jìn)度條可以應(yīng)用于大部分場(chǎng)景。不用修改進(jìn)度條函數(shù)的任何代碼,就可以直接使用,特別適合那些可預(yù)估指令執(zhí)行時(shí)間的場(chǎng)景,需要的朋友可以參考下2022-06-06
shell查找某字符串在某文件中出現(xiàn)行數(shù)的方法
這篇文章主要介紹了shell查找某字符串在某文件中出現(xiàn)行數(shù)的方法,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2019-02-02
shell腳本連接并重啟遠(yuǎn)程服務(wù)器的方法
這篇文章主要介紹了shell腳本連接并重啟遠(yuǎn)程服務(wù)器方法,需要的朋友可以參考下2017-03-03
Shell腳本實(shí)現(xiàn)監(jiān)控MySQL主從同步
這篇文章主要介紹了Shell腳本實(shí)現(xiàn)監(jiān)控MySQL主從同步,此腳本應(yīng)該能適應(yīng)各種各樣不同的內(nèi)外網(wǎng)環(huán)境,并同時(shí)監(jiān)控MySQL運(yùn)行狀態(tài),需要的朋友可以參考下2015-01-01

