写一个shell脚本 遍历某一个目录下所有的文件的行数和大小
时间: 2023-05-18 19:07:00 浏览: 442
可以使用以下的 shell 脚本来遍历某个目录下所有文件的行数和大小:
```bash
#!/bin/bash
# 遍历的目录
dir_path="/path/to/directory"
# 遍历目录下的所有文件
for file_path in $(find "$dir_path" -type f); do
# 统计文件的行数
line_count=$(wc -l < "$file_path")
# 统计文件的大小
size=$(du -h "$file_path" | awk '{print $1}')
# 输出文件名、行数和大小
echo "$file_path: $line_count lines, $size"
done
```
请注意,上述脚本中的 `dir_path` 变量需要替换为你要遍历的目录的路径。
相关问题
shell脚本 遍历 文件名以report.txt 结尾 的所有文件;2、 统计遍历结果中 各个文件中 Pass 关键字的 个数
在Shell脚本中,你可以使用`find`命令来遍历指定目录下的所有以`report.txt`结尾的文件,并使用`grep`命令统计每个文件中包含关键词"Pass"的数量。下面是一个简单的示例:
```bash
#!/bin/bash
# 定义需要搜索的目录,这里假设是当前目录
dir="."
# 使用find命令查找所有的report.txt文件
files=$(find $dir -type f -name "report.txt")
# 对每个文件进行处理,使用grep查找Pass并获取行数
for file in $files; do
passes=$(grep -c 'Pass' $file)
echo "File: $file contains ${passes} occurrences of 'Pass'."
done
# 输出每个文件统计结果
echo "Summary:"
total_passes=0
for file in $files; do
total_passes=$((total_passes + passes))
echo "$file: ${passes}"
done
echo "Total Pass occurrences across all files: $total_passes"
shell语句遍历求数量
你可以使用 `for` 循环来遍历目录中的文件,并使用 `wc -l` 命令来统计行数。以下是一个示例的Shell脚本:
```shell
#!/bin/bash
# 设置目标目录
directory="/path/to/directory"
# 遍历目录中的文件
for file in $directory/*; do
# 使用 wc -l 命令获取文件的行数
line_count=$(wc -l < "$file")
echo "文件 $file 的行数为: $line_count"
done
```
你需要将 `directory` 变量替换为你要遍历的目录的路径。这个脚本将遍历目录中的每个文件,并打印出每个文件的行数。
阅读全文