在Linux中,我想搜索文件数量和数量。目录中的目录

时间:2017-11-13 19:34:29

标签: linux

例如: 我有一个项目目录。 在那3个子目录中。 在那3个子目录中每个文本文件。

现在我正在使用scandir()来查找有多少文件和文件。该项目中存在的指令。但scandir()只扫描1级意味着它不扫描子目录如何扫描它们。

1 个答案:

答案 0 :(得分:1)

如果您使用的是命令行,则可以使用find和wc。

递归计算所有文件:

find . -type f | wc -l

查找目录计数:

find . -type d | wc -l

+++++++++++++++++++++++++++++

-type f = file

-type d =目录

wc =打印换行符,字或字节计数,其中带有参数-l以提供行计数

如果你指的是在PHP中使用scandir,你可以尝试这样的事情:

<?php 
function dirToArray($dir) { 

   $result = array(); 

   $cdir = scandir($dir); 
   foreach ($cdir as $key => $value) 
   { 
      if (!in_array($value,array(".",".."))) 
      { 
         if (is_dir($dir . DIRECTORY_SEPARATOR . $value)) 
         { 
            $result[$value] = dirToArray($dir . DIRECTORY_SEPARATOR . $value); 
         } 
         else 
         { 
            $result[] = $value; 
         } 
      } 
   } 

   return $result; 
} 
?>

来源:评论#88 http://php.net/manual/en/function.scandir.php