随着字符串变量的增长,Bash脚本太慢了

时间:2015-04-07 15:38:39

标签: bash variables mbox

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

0 个答案:

没有答案