Linux bash脚本统计文件夹中存在多少常规文件和目录

Linux bash脚本统计文件夹中存在多少常规文件和目录,linux,bash,Linux,Bash,语法: 这样可以吗?您可能不需要脚本 要计数文件,请执行以下操作: #!/bin/sh a=`find "$1" -maxdepth $(($2+1)) -type f | wc -l` b=`find "$1" -maxdepth $(($2+1)) -type d | wc -l` b=$(($b-1)) echo files $a folders $b 这使用零字节作为分隔符(不能出现在文件名中),使用-print0选项和read的-d'选项使用零字节作为记录分隔符。您可能不需

语法:


这样可以吗?

您可能不需要脚本

要计数文件,请执行以下操作:

#!/bin/sh
a=`find "$1" -maxdepth $(($2+1)) -type f | wc -l`

b=`find "$1" -maxdepth $(($2+1)) -type d | wc -l`

b=$(($b-1))

echo  files $a  folders $b

这使用零字节作为分隔符(不能出现在文件名中),使用
-print0
选项和
read
-d'
选项使用零字节作为记录分隔符。

您可能不需要脚本

要计数文件,请执行以下操作:

#!/bin/sh
a=`find "$1" -maxdepth $(($2+1)) -type f | wc -l`

b=`find "$1" -maxdepth $(($2+1)) -type d | wc -l`

b=$(($b-1))

echo  files $a  folders $b

这使用零字节作为分隔符(不能出现在文件名中),使用
-print0
选项,并使用
read
-d'
选项将零字节用作记录分隔符。

“我不知道如何做”。那么你来错地方寻求帮助了。S.O.是帮助人们修复他们的坏代码。有代码总比没有代码好。在这里发布更多Qs之前,请阅读、、和。祝你好运。我编辑了我的问题,谢谢你的评论“我不知道怎么做”。那么你来错地方寻求帮助了。S.O.是帮助人们修复他们的坏代码。有代码总比没有代码好。在这里发布更多Qs之前,请阅读、、和。祝你好运。我编辑了我的问题,谢谢你的评论。你不需要分别使用
-type f
-type d
?如果不使用
find
,则默认情况下可以在一个命令中列出这两个命令。@Inian我认为OP希望单独计算文件和目录,但如果希望对所有内容进行单独计算,一个find命令就可以了。谢谢你的帮助和解释这正是我搜索的内容,现在我了解了它的工作原理:)你不需要分别使用
-type f
-type d
?如果不使用
find
,则默认情况下可以在一个命令中列出这两个内容。@Inian我认为OP希望单独计算文件和目录,但如果希望对所有内容进行单独计算,则可以使用一个find命令。Thx为您提供帮助和解释,这正是我搜索的内容,现在我了解了它的工作原理:)
find <folder> -mindepth 1 -maxdepth <depth> -type f | wc -l
find <folder> -mindepth 1 -maxdepth <depth> -type d | wc -l
declare -i i=0
while IFS= read -d '' file
do
    i+=1
done < <(find <folder> -mindepth 1 -maxdepth <depth> -type f -print0)
echo "$i"