bash如何等待文件末尾的下一行

时间:2014-05-25 15:00:32

标签: bash

我不知道如何等待文件中的下一行。 就像我有文件从中我命令脚本。操作包括:启动进程,停止进程,记录活动进程和退出脚本。

while true
    do
      while read line
      do
         # do what ever it does 
      done < file
    done

这是我用来保留文件直到退出。 当它到达文件的最后一行时,如何保持并等待下一个命令行?

1 个答案:

答案 0 :(得分:4)

请注意,您现有的代码会多次读取该文件,这不是您真正想要的。

您可以使用:

tail -f file |
while read line
do
     # do what ever it does 
done

tail -f命令重复查找文件的结尾。当然,现在你有两个问题:

  1. 你如何告诉tail -f停止?
  2. 如何让它在启动时读取文件中的所有内容?
  3. Q1的答案是&#39;中断键&#39;。

    Q2的答案是“如果启动时文件中可能超过10行,则添加-n 1000000或类似的内容,以便为您提供文件的最后几百万行&#39; 。 (如果您的文件可能包含超过一百万行,请使用更大的数字。)