for ((i=1; i<=$count; i++)); do timestamp=$(sed -n "${i}p" <<< "$timestamps") subject=$(sed -n "${i}p" <<< "$subjects") sender=$(sed -n "${i}p" <<< "$senders") recipient=$(sed -n "${i}p" <<< "$recipients") if [[ "$timestamp" > "$time" && "$timestamp" < "$(date +"%Y-%m-%d %H:%M:%S")" ]]; then printf "%-10s %-60s %-30s %-30s\n" "$timestamp" "$subject" "$sender" "$recipient" printf "%-10s %-60s %-30s %-30s\n" "$timestamp" "$subject" "$sender" "$recipient" >> "$result_file" 2>&1 | tee -a "$result_log" fi done $result_log没有内容
时间: 2023-08-06 07:02:09 浏览: 111
使用CI简化数据库开发.doc
根据您提供的代码,循环遍历日志信息,并根据时间范围条件将结果输出到终端和文件中。在您的代码中,您使用 `tee -a` 命令将结果追加到 `$result_log` 文件中。然而,您提到 `$result_log` 文件没有内容。
这可能是由于以下几种原因导致的:
1. 没有匹配到满足时间范围条件的日志条目。请确保时间范围设置正确,并且确保日志中存在满足条件的条目。
2. `$result_log` 文件不存在或不可写。请确保该文件存在并且具有适当的写入权限。
3. `$result_log` 文件路径设置不正确。请确保将 `$result_log` 替换为实际的文件路径。
您可以在循环之前添加一行 `echo $result_log` 来打印出 `$result_log` 的值,以确保它的值是正确的。另外,您还可以在循环之前添加一行 `echo "$filtered_logs"` 来打印出筛选后的日志内容,以查看是否有满足时间范围条件的条目。
如果问题仍然存在,请提供更多关于您的环境和日志文件的信息,以便更好地帮助您解决问题。
阅读全文