输入文件 ($1) 是一个 mbox 文件(它是一个文本文件)。这个想法是从头开始阅读它,在 $message 中保存一条消息,用它做一些事情,丢弃它并重新开始。现在的问题是消息越大,脚本越慢。脚本在达到 10mb 消息时总是挂起,我计算出至少需要 20 分钟。
message=''
IFS_old=$IFS
IFS=''
while read -r line; do
if [[ "$line" =~ ^From\ .* ]]; then
message="$line"
else
message+=$'\n'"$line"
fi
done < "$1"
IFS=$IFS_old
您只需评论该行
message+=$'\n'"$line"
并且在一分钟内脚本完成了一个 120mb 的 mbox 文件。期望一个变量保持几个 mb 是不是很糟糕?谢谢你们