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