簡體   English   中英

使用Unix計算文件數量

[英]Count number of files using unix

我們如何在大型機環境中使用unix計算服務器目錄中存在的文件數。 我已經嘗試了以下命令,但是由於出現底部錯誤而中止:

cd“ / Deepak / dir”

ls -1 | wc -l
ls -l . | egrep -c '^-'
ls -cf    

嘗試第一個命令后,我收到的錯誤消息是:不能ls:“ / Deepak / dir / |” 未找到。

我不知道為什么在這里顯示管道。 而且我認為這就是原因,錯誤是指出找不到目錄為“ / Deepak / dir / |” 和“ / Deepak / dir /”不同。

怎么樣:

ls -1 | wc -l

這似乎為我工作。

ls | wc -l也可以正常工作

如果您只想在目錄中不計文件而不計(子)目錄,請使用以下命令代替ls -1

find yourdirname -maxdepth 1 -type f | wc -l

-maxdepth限制僅find到yourdirname,並且-type f僅在搜索時才考慮文件。

如果只需要文件,並且只希望對名稱中包含換行符的文件進行一次計數,那么這應該是一種相當安全的方法:

i=0
while read -d ''; do
    ((i++))
done < <( find /Deepak/dir -maxdepth 1 -type f -print0 )
echo $i

注意:在大多數發行版中find的GNU版本的find find稍有不同,后者可能更可能在“ Unix”中找到。 以上對我來說都適用於兩個版本(例如,在Linux和OSX上)。 但是您的可能還有另一個不同版本的find

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM