wc命令用于統(tǒng)計linux文件的行數(shù)、字節(jié)數(shù)和單詞數(shù),常用于查看文件規(guī)模;1.使用wc -l可統(tǒng)計文件總行數(shù),適用于日志或代碼長度分析;2.wc默認(rèn)顯示行數(shù)、單詞數(shù)、字節(jié)數(shù),-w僅統(tǒng)計單詞數(shù),-c僅統(tǒng)計字節(jié)數(shù);3.可同時處理多個文件并匯總結(jié)果,結(jié)合sort可排序?qū)Ρ任募袛?shù);4.配合管道符可用于統(tǒng)計命令輸出的行數(shù),如ps aux | wc -l統(tǒng)計進(jìn)程數(shù)量。
在linux系統(tǒng)中,統(tǒng)計文件的行數(shù)、字?jǐn)?shù)或者字節(jié)數(shù)是一個很常見的需求。比如你剛寫完一個腳本,想看看它有多少行;或者你處理一批日志文件,想知道每個文件的規(guī)模。這時候,wc 命令就能派上用場了。它簡單直接,不需要復(fù)雜的參數(shù)就能完成基礎(chǔ)統(tǒng)計任務(wù)。
統(tǒng)計文件總行數(shù):最常用的場景
有時候你只需要知道一個文件有多少行,比如查看日志文件中有多少條記錄,或者統(tǒng)計代碼文件的大概長度。這時可以用 wc -l:
wc -l filename.txt
輸出的第一列就是文件的總行數(shù)。如果后面跟多個文件,還會顯示總計行數(shù)。
小技巧:如果你想快速統(tǒng)計某個命令輸出的結(jié)果有多少行,可以結(jié)合管道使用。例如:ps aux | wc -l這樣就能知道當(dāng)前運(yùn)行了多少進(jìn)程。
統(tǒng)計字?jǐn)?shù)和字節(jié)數(shù):更全面的文件信息
除了行數(shù),wc 還能統(tǒng)計單詞數(shù)和字節(jié)數(shù)。默認(rèn)情況下,wc 會同時顯示這三項(xiàng)數(shù)據(jù):
wc filename.txt
輸出格式是這樣的:
行數(shù) 單詞數(shù) 字節(jié)數(shù) 文件名
如果你只關(guān)心單詞數(shù)或字節(jié)數(shù),可以分別加上 -w 或 -c 參數(shù):
- wc -w filename.txt:統(tǒng)計單詞數(shù)量
- wc -c filename.txt:統(tǒng)計字節(jié)數(shù)(不是字符數(shù))
注意:這里的“單詞”是以空白字符分隔的內(nèi)容,不一定是英文單詞。所以對于中文文本來說,這個數(shù)值可能沒有實(shí)際意義。
多文件對比與結(jié)果排序:方便排查問題
當(dāng)你需要比較多個文件的大小或內(nèi)容規(guī)模時,可以一次列出多個文件:
wc file1.txt file2.txt file3.txt
這樣會分別統(tǒng)計每個文件,并在最后給出合計值。
如果你只想看哪份文件最長,可以結(jié)合 sort 使用:
wc -l *.log | sort -n
這條命令會列出所有 .log 文件的行數(shù),并按數(shù)字順序排序,排在最后的就是行數(shù)最多的文件。
基本上就這些。wc 雖然功能不多,但非常實(shí)用,在日常處理文本數(shù)據(jù)時幾乎每天都會用到。只要記住幾個常用參數(shù),再配合管道或其他命令,就能解決很多統(tǒng)計類的問題。