计算Linux目录中的文件数? [关闭]
Posted
技术标签:
【中文标题】计算Linux目录中的文件数? [关闭]【英文标题】:Count number of files within a directory in Linux? [closed] 【发布时间】:2014-01-20 15:06:27 【问题描述】:要统计目录中的文件数量,我通常使用
ls directory | wc -l
但是还有其他命令不使用wc
吗?
【问题讨论】:
wc
究竟是什么问题导致您无法使用它?
并非如此。 Unix 命令通常旨在以这种方式使用,链接在管道中。
我正在通过 ssh 连接到另一台主机以访问一些数据。不幸的是,一堆基本命令似乎在这台主机上不起作用。如果我使用 wc 它会返回 "unrecognized command" 。所以我正在寻找其他选择。
使用tree
命令。它会给你树,并在底部告诉你有多少文件和目录。如果你想隐藏文件也使用tree -a
。
@vanza "wc 到底有什么问题" ,如果文件名中有\n
怎么办?是的,极不太可能!但在技术上仍然有效且可行。
【参考方案1】:
这是一个:
ls -l . | egrep -c '^-'
注意:
ls -1 | wc -l
这意味着:
ls
: 列出目录中的文件
-1
:(这是一个 ONE)每行只有一个条目。如果您也想要隐藏文件,请将其更改为 -1a
|
: 管道输出到...
wc
: "字数"
-l
:计数l
ines。
【讨论】:
不用等待。我做了一个嘘声。你是绝对正确的 Sajad Lfc 。 ls -1 目录 | egrep -c '' 这将返回 dir 中的文件数。谢谢。 @SajadKaruthedathls -l . | egrep -c '^-'
不计算隐藏文件。我建议将-a
标志添加到ls
。
@runios 这是因为ls -l
在顶部返回一个附加行,将文件大小相加为总数量。您应该使用ls -1
而不是ls -l
。此外,如果想要隐藏文件但没有目录 .
和 ..
你应该使用 ls -1A | wc -l
不使用管道的有效原生方式:du --inodes [root@cs-1-server-01million]# du --inodes 1000001 ./vdb.1_1.dir 1000003 。 [root@cs-1-server-01 百万]#
这不是违反不解析ls
的传统吗?以上是关于计算Linux目录中的文件数? [关闭]的主要内容,如果未能解决你的问题,请参考以下文章