Linux统计当前目录下,每个文件夹内的文件数量
时间: 2024-09-10 19:29:03 浏览: 71
在Linux中,你可以使用`find`命令配合`wc -l`命令来统计指定目录下每个子目录内的文件数量。`find`用于查找文件,`wc -l`用于计算行数,因为每个非空目录可以视为一行。以下是基本步骤:
1. 打开终端。
2. 使用绝对路径或相对路径指定你要统计的目录,例如:
```
find /path/to/directory -type d -exec wc -l {} \; | awk '{total += $1} END {print "Total files in subdirectories:", total}'
```
或者对于当前目录下的统计:
```
find . -type d -exec wc -l {} \; | awk '{total += $1} END {print "Total files in subdirectories:", total}'
```
这里的 `-type d` 参数表示只查找目录,`{} \;` 是给`wc -l`传递目录作为参数的方式,`awk`负责累加每个结果(文件数量)并最终输出总和。
这个命令会打印出每个子目录内文件的数量以及总的文件数量。
相关问题
在linux查找my ,my1,my2和my3中有没有包含salary,ab、cd的行,有几个文件包含ab.(截图)
在Linux中,你可以使用`grep`命令结合通配符和`wc -l`(统计行数)来查找特定内容并计算包含某字符串的文件数量。首先,找到所有名为"my*"的文件,然后逐个检查它们的内容中是否包含"salary", "ab", 和 "cd":
```sh
grep -rl "salary|ab|cd" /path/to/my* | xargs grep -c "ab"
```
这里解释一下这个命令:
- `grep -r` 是递归搜索当前目录及其子目录。
- `-l` 表示只列出匹配的文件名。
- `"salary|ab|cd"` 是你要查找的模式,通过`|`分隔,表示匹配其中任意一项。
- `/path/to/my*` 是指定的文件夹路径和通配符,用于匹配"my1", "my2", "my3"等文件。
- `xargs grep -c "ab"` 使用`xargs`将上一步得到的文件名传递给另一个`grep`, `-c`选项显示每行匹配的数量,也就是包含"ab"的行数。
运行完上述命令后,最后一行输出的就是含有"ab"的行数。如果需要查看详细信息,可以去掉`-c`,直接运行`grep`。
阅读全文