gpt4 book ai didi

linux - 文件夹数返回为零值

转载 作者:塔克拉玛干 更新时间:2023-11-03 00:54:03 25 4
gpt4 key购买 nike

我正在尝试计算作为参数传递的文件夹的数量,并且以某种方式将增量返回为 0。代码看起来像:`

all=ls $1 | grep $2
echo $all

k=0
for i in $all
do
if [ -d "$i" ];then
k=$((k+1))
fi
echo $i
done
echo $k

$1 是文件夹名称,$2 是文件夹名称的一部分。因此,例如它应该计算文件夹内的文件夹数。测试文件夹里面还有3个文件夹,计数应该是3,但我一直得到0值

最佳答案

您的脚本有很多语法问题。

要计算文件夹内的文件夹,您可以使用此函数:

cntdir() { local a=( "$1"/"$2"*/ ); echo "${#a[@]}"; }

然后称它为:

cntdir folder1 abc
  • 此函数使用 glob 模式 "$1"/"$2"*/ 创建数组 a,其中 / 最后确保我们只匹配目录。
  • ${#a[@]} 获取数组元素的个数

关于linux - 文件夹数返回为零值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28127949/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com