Windows XP Windows 7 Windows 2003 Windows Vista Windows 綜合教學 Linux 系統教學
Windows 10 Windows 8 Windows 2008 Windows NT Windows Server 電腦軟體教學
您现在的位置: Windows教程網 >> Windows教程 >  >> Linux 系統教學 >> Linux 教學

Linux wc 指令詳解:行數、字數、位元組統計實戰技巧

編輯:Linux 教學

wc (word count) 是 Linux 統計檔案行數、單字數、位元組數的標準工具,常搭配管道進行日誌分析、程式碼統計。本文詳細說明參數用法、換行符陷阱與實戰範例。

基本語法與輸出格式

wc [選項] [檔案...]

無選項時輸出:行數 字數 位元組數 檔名

$ wc wc1.txt
3 5 16 wc1.txt

常用參數

參數功能
-l, --lines顯示行數
-w, --words顯示字數(以空白分隔)
-c, --bytes顯示位元組數
-m, --chars顯示字元數(支援多位元組字元)
-L, --max-line-length顯示最長行長度

關鍵細節:換行符決定行數

wc -l 統計的是 換行符(LF, \n)個數,而非視覺上的行數。

$ perl -e 'print "a"' | wc -l
0
$ perl -e 'print "a\n"' | wc -l
1

陷阱: 檔案最後一行若無換行符,wc -l 會少算一行。建議用 cat -A 或 hexdump -C 檢查。

中文字元統計說明

  • UTF-8 編碼:一個漢字佔 3 位元組,wc -c 計 3,wc -m 計 1。
  • 傳統 Big5/GBK:一個漢字佔 2 位元組。

實戰範例

範例 1:統計專案原始碼行數

# 統計 .cpp 檔案總數
find . -name "*.cpp" | wc -l

# 統計 .h 檔案總行數 + 各檔行數
find . -name "*.h" | xargs wc -l

範例 2:統計目錄下一般檔案數量

# 方法一:ls + grep(含子目錄加 -R)
ls -l | grep "^-" | wc -l
ls -lR | grep "^-" | wc -l

# 方法二:find(速度更快,預設遞迴)
find . -type f | wc -l
# 僅當前目錄
find . -maxdepth 1 -type f | wc -l

範例 3:統計目前登入用戶數

who | wc -l

進階技巧:自訂分隔符統計

wc -w 預設以空白字元分隔單字。若需按逗號、冒號分隔,需搭配 tr 或 awk:

# 統計 CSV 欄位數
cat data.csv | tr ',' '\n' | wc -l
Copyright © Windows教程網 All Rights Reserved