這個命令的功能也很好記,因為它功能很有限:
wc -c filename:顯示一個檔案的位元組數
wc -m filename:顯示一個檔案的字元數
wc -l filename:顯示一個檔案的行數
wc -L filename:顯示一個檔案中的最長行的長度
wc -w filename:顯示一個檔案的字數
[rocrocket@rocrocket programming]$ cat wc1.txt
1 2
34 5
你好
[rocrocket@rocrocket programming]$ wc -c wc1.txt
16 wc1.txt
[rocrocket@rocrocket programming]$ wc -m wc1.txt
12 wc1.txt
[rocrocket@rocrocket programming]$ wc -l wc1.txt
3 wc1.txt
[rocrocket@rocrocket programming]$ wc -L wc1.txt
4 wc1.txt
[rocrocket@rocrocket programming]$ wc -w wc1.txt
5 wc1.txt
每行結尾的分行符號也算一個字元,空格也算一個字元。
由於採用UTF-8編碼,所以一個漢字在這裡被轉換為3位元組,所以wc -c顯示的結果是16,即“第一行的4個位元組+第二行的5個位元組+第三行的7個位元組”=4+5+7=16。
而當使用-m選項時,一個漢字就作為一個字元計算,所以是4+5+3=12。
當使用-L時,是給出最長行的長度,第二行最長,有4個字元長。(顯然是不把分行符號計算在內)
使用-w是計算字數,一個字是一個word,所以“34”表示一個word,一個“你好”表示一個word(我試過了,當中文是連在一起的,不管多少個,在計算字數word時,只有一個),因此2+2+1=5。
插孔說說tab定位字元,這個符號比較特殊,當使用-L時,定位字元算7個字元(這要依據一個定位字元的長度而定,在我的系統中一個定位字元算7個空格長度)。而當使用-w時,定位字元和空格沒有兩樣,都作為字的間隔來看待。當用-c時,一個定位字元也就算一個字元,因為它的確就只是一個字元而已。
如果你直接執行wc wc1.txt,則顯示:
[rocrocket@rocrocket programming]$ wc wc1.txt 3 5 16 wc1.txt
輸出資訊依次是:行數 字數 位元組數 檔案名稱。