如何计算目录中的文件数量但不进行递归

如何计算目录中的文件数量但不进行递归

我相信这是一个简单的问题。我见过一个答案显示了如何执行包括子目录在内的操作,但我只想知道当前目录中有多少个文件(而不是文件夹)。谢谢。

答案1

ls -F |grep -v / | wc -l
  1. ls -F列出所有文件并将指示符(*/=>@| 之一)附加到条目
  2. grep -v /保留所有符合条件的字符串不是包含斜线
  3. wc -l计数行

答案2

尝试一下这个单行代码:

find -maxdepth 1 -type f | wc -l

答案3

尝试这个

ls -al | grep ^[-] | wc -l
  1. ls -al-- 以长列表格式列出所有文件
  2. grep ^[-]-- 搜索以“-”开头的字符串,当使用 ls -al 列出文件时,该字符串是表示常规文件的符号
  3. wc -l -- 计数行

答案4

如果您已经tree在系统上安装了,则可以使用此命令:

tree -L 1 /path/to/your/directory | tail -n 1

它显示该目录中的文件和目录的数量。

-L n显示搜索的深度。

您可以使用tree进行安装sudo apt-get install tree

相关内容