输入文件($ 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是不是很糟糕? 谢谢大家