逐行读取文件并稍后继续bash

时间:2018-11-26 15:43:52

标签: bash while-loop

我正在逐行读取文本文件,但是有时该过程失败。在那种情况下,当我尝试调试发生原因时,我想重新启动该过程,但要从处理的最后一行开始。可能吗?存储它所在的行并不难,但是我不知道以一种有效的方式开始该过程(暴力方式只是再次读取所有文件,并检查何时到达所需的行) ),在另一段脚本中运行。

我正在这样阅读:

�

1 个答案:

答案 0 :(得分:3)

您需要将断号行存储在某个地方,然后您可以将其直接读取或传递给脚本,并使用tail跳过之前的内容:

from_line=${2:-0}
while IFS='' read -r line || [[ -n "$line" ]]; do
    do thing with "$line"
done <  <(tail -n +"$from_line" "$1")