介紹如何在 Linux 中使用 wc 指令計算資料的行數、字數或字元數。

計算行數、字數、字元數

wc 指令可以用來計算資料的行數、字數、字元數,只要指定要進行計算的檔案即可:

# 計算 /proc/cpuinfo 的行數、字數、字元數
wc /proc/cpuinfo
54 390 2284 /proc/cpuinfo

在這裡的輸出中有三個數字,其意義如下:

  • 54:資料包含 54 行(lines)。
  • 390:資料包含 390 個字(words)。
  • 2284:資料包含 2284 個字元(characters)。

也可以同時計算多個檔案:

# 計算多個檔案的行數、字數、字元數
wc /proc/cpuinfo /proc/meminfo
54 390 2284 /proc/cpuinfo
53 155 1475 /proc/meminfo
107 545 3759 total

計算行數

若只需要計算資料的行數,可以在執行 wc 指令時,加上 -l 參數:

# 計算 /proc/cpuinfo 的行數
wc -l /proc/cpuinfo
54 /proc/cpuinfo

計算字數

若只需要計算資料的字數(words),可以在執行 wc 指令時,加上 -w 參數:

# 計算 /proc/cpuinfo 的字數
wc -w /proc/cpuinfo
390 /proc/cpuinfo

計算字元數

若只需要計算資料的字元數(characters),可以在執行 wc 指令時,加上 -m 參數:

# 計算 /proc/cpuinfo 的字元數
wc -m /proc/cpuinfo
2284 /proc/cpuinfo

計算位元組數

若只需要計算資料的位元組數(bytes),可以在執行 wc 指令時,加上 -c 參數:

# 計算 /proc/cpuinfo 的位元組數
wc -c /proc/cpuinfo
2284 /proc/cpuinfo

對於一般的 ASCII 文字檔來說,以 -m-c 所計算出來的結果是一樣的,若資料有包含 UTF8 這類的編碼資料,才會出現差異。

計算最長行的長度

wc-L 參數可以用來計算整個資料中,最長那一行的長度:

# 計算 /proc/cpuinfo 最長行的長度
wc -L /proc/cpuinfo
596 /proc/cpuinfo

計算串流資料

wc 也可以計算串流資料的行數、字數、字元數:

# 計算串流資料的行數、字數、字元數
cat /proc/cpuinfo | wc
54     390    2284

參考資料