本篇介紹如何在 Linux 系統上使用 wc
指令計算資料的字數、行數等統計數據。
wc
是一個 Linux 的基本指令,可用來計算檔案內容的字數、行數、位元組數等資訊,雖然功能很簡單,但是卻很實用,以下是這個指令的使用方式與範例。
wc
可用來計算指定檔案內容的換行數(newline)、字數(word)與位元組數(byte),例如計算 /etc/motd
與 /etc/os-release
這兩個檔案的字數統計:
wc /etc/motd /etc/os-release
7 40 286 /etc/motd 9 14 276 /etc/os-release 16 54 562 total
wc
會對每一個指定的檔案輸出三個數值,分別代表換行數、字數與字元數,以這個例子來說,輸出的第一行代表 /etc/motd
這個檔案內容總共有 7
行、字數為 40
,總共的位元組數則為 286
,其餘以此類推。
wc
跟一般的 Linux 指令工具一樣,亦可從標準輸入讀取資料:
cat /etc/motd | wc
7 40 286
若只要計算換行數,可以加上 -l
參數:
wc -l /etc/motd
7 /etc/motd
若只要計算字數,可以加上 -w
參數:
wc -w /etc/motd
40 /etc/motd
若只要計算位元組數,可以加上 -c
參數:
wc -c /etc/motd
286 /etc/motd
若只要計算字元數(character),可以加上 -m
參數:
wc -m /etc/motd
286 /etc/motd
對於普通英文的資料而言,位元組與字元的數量會是相同的,但如果有中文字的話,就會有些不同:
echo -n "中文" | wc -m
2
echo -n "中文" | wc -c
6
如果想要找出資料中最長那一行的長度,可以加上 -L
參數:
wc -L /etc/motd
73 /etc/motd
這行指令可以用來計算在目前目錄中,所有 Python 指令稿(*.py
)的數量:
# 計算目前目錄下,Python 指令稿的數量 ls *.py | wc -l
參考資料:HowtoForge