在Linux下用wc進行計數(shù)。返回文件的行數(shù)、字數(shù)、字節(jié)數(shù)等。
例如:
wc wc1.txt
3 5 16 wc1.txt
輸出信息依次:行數(shù) 字數(shù) 字節(jié)數(shù) 文件名稱。再具體點,單個統(tǒng)計。
#wc -m filename:顯示一個文件的字符數(shù)
#wc -l filename:顯示一個文件的行數(shù)
#wc -L filename:顯示一個文件中的最長行的長度
#wc -w filename:顯示一個文件的字數(shù)
注意:貌似wc統(tǒng)計的行算是用換行符來確定的。就是說最后一行要有換行符,最后wc的行數(shù)才是正確的,否則將會少一行。
為了說明這個問題,看一個perl的測試:
perl -e ‘print “a”‘|wc
0 1 1
perl -e ‘print “a\n”‘|wc
1 1 2
上面的例子中print命令將a打印出來,如果不帶換行符\n,則認為這一行不存在。
說明:
1:一個漢字占三個字節(jié)(未經(jīng)驗證,個人認為是兩個字節(jié)),一個回車符等不可見字符也占一個字節(jié)
2:一行的末尾如果沒有回車符,則不算是一行,也就是說,如果一個文件的最后一行末尾沒有換行符,wc命令統(tǒng)計的行數(shù)會比實際行數(shù)少一,所謂實際行數(shù)是你所看到的行數(shù),實際上,沒有回車符,確實不能算作一行(注:若是在一個已存在的文本中,則默認為所有的行都有一個不可見的回車符)