2041_21T1.Q3

写完才知道ls 文件名 | wc -l是不多一行可以直接出结果的 ,我用的是-l会多一行total。
我以为不加选项的ls是没法用wc的,因为似乎不是每行一个输出。

值得注意的是这个*,它会匹配当前目录下的所有文件和目录,包括隐藏文件和目录。
这里的*是通配符,触发了shell的路径名展开机制。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
#!/bin/dash

# 当前目录下的目录 其内有多少个是具有两个以上文件或目录的

for item in *; do
if [ -d "$item" ]; then
count=$(ls -l "$item" | wc -l)
count=$((count - 1))

if [ "$count" -ge 2 ]; then
echo "$item"
fi
fi
done