知道指定后綴名的文件總個(gè)數(shù)命令:
成都創(chuàng)新互聯(lián)專注于企業(yè)全網(wǎng)營銷推廣、網(wǎng)站重做改版、五華網(wǎng)站定制設(shè)計(jì)、自適應(yīng)品牌網(wǎng)站建設(shè)、H5場景定制、電子商務(wù)商城網(wǎng)站建設(shè)、集團(tuán)公司官網(wǎng)建設(shè)、成都外貿(mào)網(wǎng)站建設(shè)、高端網(wǎng)站制作、響應(yīng)式網(wǎng)頁設(shè)計(jì)等建站業(yè)務(wù),價(jià)格優(yōu)惠性價(jià)比高,為五華等各大城市提供網(wǎng)站開發(fā)制作服務(wù)。
find
.
-name
*.cpp
|
wc
-l
知道一個(gè)目錄下代碼總行數(shù)以及單個(gè)文件行數(shù):
find
.
-name
*.h
|
xargs
wc
-l
linux統(tǒng)計(jì)文件夾中文件數(shù)目
第一種方法:
ls
-l|grep
“^-”|wc
-l
ls
-l
長列表輸出該目錄下文件信息(注意這里的文件,不同于一般的文件派答,可能是目錄、鏈接、設(shè)備文件等)。如果ls
-lR|grep
“^-”|wc-l則可以連子目錄下的文件一起統(tǒng)陵橋計(jì)。
grep
^-
這里將長列表輸出信息過濾一部分,只保留一般文件,如果只保留目錄就是
^d
wc
-l
統(tǒng)計(jì)輸出信息的行數(shù),因?yàn)橐呀?jīng)過濾得只剩一般文件了,所以統(tǒng)計(jì)結(jié)果就是一般文尺羨猛件信息的行數(shù),又由于一行信息對(duì)應(yīng)一個(gè)文件,所以也就是文件的個(gè)數(shù)。
第二種方法:
find
./
-type
f|wc
-l
由于默認(rèn)find會(huì)去子目錄查找,如果只想查找當(dāng)前目錄的文件用
需要說明的是第二種方法會(huì)比第一種方法快很多,尤其是也統(tǒng)計(jì)子目錄時(shí)。
結(jié)論:使用Linux命令可以計(jì)算非重復(fù)文件個(gè)數(shù)。
原因:在Linux中,有一個(gè)命令叫做uniq,它可以用來過濾掉文件中的重復(fù)行。
通過將文件中的每一行都當(dāng)做一個(gè)單獨(dú)的元素,然后對(duì)這些元素進(jìn)行排序和去重,可以得到文件中的非重復(fù)行數(shù),也就是非重復(fù)文件個(gè)數(shù)。
另外,可以使用管道符(|)將find命令和uniq命令連接起來,實(shí)現(xiàn)一次性脊物查找并計(jì)算非重復(fù)文件個(gè)數(shù)。
內(nèi)容延伸:除了uniq命令外,還有其他一些Linux命令可以用來計(jì)算文件中非重復(fù)元素個(gè)數(shù),比如sort和awk等。
其中,sort命令可以對(duì)文件中的數(shù)據(jù)進(jìn)行排序,然后再使用uniq命令過濾掉重復(fù)元素;awk命令可以根據(jù)自定義的規(guī)則來彎野毀對(duì)文件中的每一行進(jìn)行處理,例如去埋備除或保留指定列,然后再使用sort和uniq命令來計(jì)算非重復(fù)元素個(gè)數(shù)。
Linux之wc命令使用方法攻略
命令說明:Linux系統(tǒng)中的wc(Word Count)命令的功能為統(tǒng)計(jì)指定文件中的字節(jié)數(shù)、字?jǐn)?shù)、行數(shù),雹橋并將統(tǒng)計(jì)結(jié)果顯示輸出。
1.命令格式:
wc?[選項(xiàng)]文件...
2.命令功能:
統(tǒng)計(jì)指定文件中的字節(jié)數(shù)、字?jǐn)?shù)、行數(shù),并將統(tǒng)計(jì)結(jié)果顯示輸出。該命令統(tǒng)計(jì)指定文件中的字節(jié)數(shù)、字?jǐn)?shù)、行數(shù)。如果沒有給出文件名,則從標(biāo)準(zhǔn)輸入讀取。wc同時(shí)也給出所指定文件的總統(tǒng)計(jì)數(shù)。
3.命令參數(shù):
-c?統(tǒng)計(jì)字節(jié)數(shù)。4.
-l?統(tǒng)計(jì)行數(shù)。
-m?統(tǒng)計(jì)字符數(shù)。這個(gè)標(biāo)志不能與?-c?標(biāo)志一起使用。
-w?統(tǒng)計(jì)字?jǐn)?shù)。一個(gè)字被定義頃襲為由空白、跳格或換行字符分隔的字符串。雀肆兄
-L?打印最長行的長度。
-help?顯示幫助信息
--version?顯示版本信
4.案例
案例一: 有時(shí)在Linux操作系統(tǒng)中需要計(jì)算某個(gè)字符串的長度(注意不要換行)
# echo "abc" |wc -L
4
案例二:查看文件有多少行
wc -l? wang.log
在本教程中,我們將向您展示如何使用多個(gè)命令,并使用 ls、egrep、wc 和 find 命令執(zhí)行一些高級(jí)操作。 下面的命令將可用在多個(gè)方面。
為了實(shí)驗(yàn),我打算總共創(chuàng)建 7 個(gè)文件和 2 個(gè)文件夾(5 個(gè)常規(guī)文件和 2 個(gè)隱藏文件)。 下面的 tree 命令的輸出清楚的展示了文件和文件夾列表。
# tree -a /opt
/opt
├──magi
│ └──2g
│ ├──test5.txt
│ └──.test6.txt
├──test1.txt
├──test2.txt
├──test3.txt
├──.test4.txt
└──test.txt
2directories,7files
示例 1
統(tǒng)計(jì)當(dāng)前目錄的文件(不包括隱藏文件)。 運(yùn)行以下命令以確定當(dāng)前目錄中有多少個(gè)文件,并且不罩拆計(jì)算點(diǎn)文件(LCTT 譯注:點(diǎn)文件攔帶即以“.” 開頭的文件,它們?cè)?Linux 默認(rèn)是隱藏的)。
# ls -l . | egrep -c '^-'
4
細(xì)節(jié):
ls : 列出目錄內(nèi)容
-l : 使用長列表格式
. : 列出有關(guān)文件的信息(默認(rèn)為當(dāng)前目錄)
| : 將一個(gè)程序的輸出發(fā)送到另一個(gè)程序進(jìn)行進(jìn)一步簡悶蘆處理的控制操作符
egrep : 打印符合模式的行
-c : 通用輸出控制
'^-' : 以“-”開頭的行(ls -l 列出長列表時(shí),行首的 “-” 代表普通文件)
示例 2
統(tǒng)計(jì)當(dāng)前目錄包含隱藏文件在內(nèi)的文件。 包括當(dāng)前目錄中的點(diǎn)文件。
# ls -la . | egrep -c '^-'
5
示例 3
運(yùn)行以下命令來計(jì)數(shù)當(dāng)前目錄的文件和文件夾。 它會(huì)計(jì)算所有的文件和目錄。
# ls -l | wc -l
5
細(xì)節(jié):
ls : 列出目錄內(nèi)容
-l : 使用長列表格式
| : 將一個(gè)程序的輸出發(fā)送到另一個(gè)程序進(jìn)行進(jìn)一步處理的控制操作符
wc : 這是一個(gè)統(tǒng)計(jì)每個(gè)文件的換行符、單詞和字節(jié)數(shù)的命令
-l : 輸出換行符的數(shù)量