尺码哥 每天会产生一些错误文件,写了一个 shell 脚本,可以统计每天产生了多少个错误文件,主要用到了 find 命令、awk、uniq 等命令。
#!/bin/bash
dir='/path/to/directory'
start_date='2022-01-01'
end_date=$(date -I) # 设置 end_date 为当前日期
# 使用 GNU date 命令创建时间循环
current_date="$start_date"
while [ "$current_date" != "$end_date" ]; do
next_date=$(date -I -d "$current_date + 1 day")
# 计算当前日期的文件数量
file_count=$(find "$dir" -type f -newermt "$current_date" ! -newermt "$next_date" -exec stat --format=%y "{}" \; | awk '{print substr($1, 1, 10)}' | uniq -c | awk '{print $1}')
if [[ -z "${file_count// }" ]]; then
file_count=0
fi
echo "日期: $current_date, 文件数: $file_count"
current_date="$next_date"
done