用于查询近10天Teradata FastLoad日志加载记录数的Unix脚本需求
统计近10天Teradata FastLoad日志的总加载记录数
我来帮你搞定这个需求!下面是一个可以直接用的Unix脚本,专门扫描指定目录下近10天的FastLoad日志,提取并汇总所有成功加载的记录总数:
#!/bin/bash # 替换成你的FastLoad日志实际存储目录 LOG_DIR="/path/to/your/fastload/logs" # 查找近10天的日志文件,提取Total Records Read数值并求和 find "$LOG_DIR" -type f -mtime -10 \ | xargs grep -h "Total Records Read =" \ | awk '{sum += $NF} END {print "Total Records Loaded in Last 10 Days: " sum}'
脚本细节拆解:
find "$LOG_DIR" -type f -mtime -10:定位日志目录下近10天内修改过的文件,-mtime -10表示文件修改时间在10天以内。如果你的日志有固定后缀(比如.log),可以加-name "*.log"来精准过滤,比如:find "$LOG_DIR" -type f -name "*.log" -mtime -10xargs grep -h "Total Records Read =":把find找到的文件批量传给grep,-h参数让grep只输出匹配的行内容,不显示文件名,方便后续处理awk '{sum += $NF} END {print ...}':awk会遍历每一行匹配的内容,$NF表示当前行的最后一个字段(也就是日志里的记录数字),累加所有数值后,最后输出总结果
小提示:
如果日志里的行格式有细微变化(比如空格数量不同),这个脚本依然能正常工作,因为我们是通过关键词匹配行,再取最后一个数字字段,容错性很强。
内容的提问来源于stack exchange,提问作者user3901666
相关产品推荐
相关产品推荐

