日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) >

linux计算目录下wc,Linux wc命令详解

發(fā)布時(shí)間:2025/3/12 49 豆豆
生活随笔 收集整理的這篇文章主要介紹了 linux计算目录下wc,Linux wc命令详解 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

通常利用Linux的wc命令和其他命令結(jié)合來(lái)計(jì)算行和其他信息。

在Linux下用wc進(jìn)行計(jì)數(shù)。返回文件的行數(shù)、字?jǐn)?shù)、字節(jié)數(shù)等。

看個(gè)例子:

wc wc1.txt

3? 5 16 wc1.txt

輸出信息依次是:行數(shù) 字?jǐn)?shù) 字節(jié)數(shù) 文件名稱(chēng)。再具體點(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ì)的行算是用換行符來(lái)確定的。就是說(shuō)最后一行要有換行符,最后wc的行數(shù)才是正確的,否則將會(huì)少一行。

為了說(shuō)明這個(gè)問(wèn)題,看一個(gè)perl的測(cè)試:

perl -e 'print "a"'|wc

0?????? 1?????? 1

perl -e 'print "a\n"'|wc

1?????? 1?????? 2

上面的例子中print命令將a打印出來(lái),如果不帶換行符\n,則認(rèn)為這一行不存在。

有以下幾點(diǎn)說(shuō)明:

1:一個(gè)漢字占三個(gè)字節(jié)(未經(jīng)驗(yàn)證,個(gè)人認(rèn)為是兩個(gè)字節(jié)),一個(gè)回車(chē)符等不可見(jiàn)字符也占一個(gè)字節(jié)

2:一行的末尾如果沒(méi)有回車(chē)符,則不算是一行,也就是說(shuō),如果一個(gè)文件的最后一行末尾沒(méi)有換行符,wc命令統(tǒng)計(jì)的行數(shù)會(huì)比實(shí)際行數(shù)少一,所謂實(shí)際行數(shù)是你所看到的行數(shù),實(shí)際上,沒(méi)有回車(chē)符,確實(shí)不能算作一行(注:若是在一個(gè)已存在的文本中,則默認(rèn)為所有的行都有一個(gè)不可見(jiàn)的回車(chē)符)? 3:所謂一個(gè)字就是連續(xù)的字符,即不被空字符分割的連續(xù)的字母或者漢字算作是一個(gè)字

例如下面是一個(gè)叫abc.txt的文本,利用vi打開(kāi)后的情況:(為了明細(xì)起見(jiàn)我們把回車(chē)符用箭頭┘表示,實(shí)際中是沒(méi)有的)

You are nice.

Right??

OK.

~

~

~

You are nice.┘

Right??┘

OK.

~

~

~

則:

wc? abc.txt

6???? 5????? 28?? abc.txt

即6行,5個(gè)word,28個(gè)字符。我們來(lái)數(shù)一下。

包括看不見(jiàn)的回車(chē)符共有6行;

不被空字符分割的連續(xù)的字母共有5個(gè),分別是You、are、nice.、Right??、OK.

字節(jié)(或字符)包含了回車(chē)符共28個(gè)。

舉例:

example1:linux下如何統(tǒng)計(jì)一個(gè)目錄下的文件個(gè)數(shù)以及代碼總行數(shù)的命令知道指定后綴名的文件總個(gè)數(shù)命令:

find . -name "*.cpp" | wc -l

知道一個(gè)目錄下代碼總行數(shù)以及單個(gè)文件行數(shù):

find . -name "*.h" | xargs wc -l

example2:linux統(tǒng)計(jì)文件夾中文件數(shù)目

第一種方法:

ls -l|grep “^-”|wc -l

ls -l 長(zhǎng)列表輸出該目錄下文件信息(注意這里的文件,不同于一般的文件,可能是目錄、鏈接、設(shè)備文件等)。如果ls -lR|grep “^-”|wc-l則可以連子目錄下的文件一起統(tǒng)計(jì)。

grep ^- 這里將長(zhǎng)列表輸出信息過(guò)濾一部分,只保留一般文件,如果只保留目錄就是 ^d

wc -l 統(tǒng)計(jì)輸出信息的行數(shù),因?yàn)橐呀?jīng)過(guò)濾得只剩一般文件了,所以統(tǒng)計(jì)結(jié)果就是一般文件信息的行數(shù),又由于一行信息對(duì)應(yīng)一個(gè)文件,所以也就是文件的個(gè)數(shù)。

第二種方法:

find ./ -type f|wc -l

由于默認(rèn)find會(huì)去子目錄查找,如果只想查找當(dāng)前目錄的文件用find ./ -maxdepth 1 -type f|wc -l即可。

需要說(shuō)明的是第二種方法會(huì)比第一種方法快很多,尤其是也統(tǒng)計(jì)子目錄時(shí)。

example3:想知道多少個(gè)用戶(hù)登錄了系統(tǒng)?

who | wc -l

創(chuàng)作挑戰(zhàn)賽新人創(chuàng)作獎(jiǎng)勵(lì)來(lái)咯,堅(jiān)持創(chuàng)作打卡瓜分現(xiàn)金大獎(jiǎng)

總結(jié)

以上是生活随笔為你收集整理的linux计算目录下wc,Linux wc命令详解的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。