Bash tail-n1有时返回最后2行

Bash tail-n1有时返回最后2行,bash,shell,Bash,Shell,我试图创建一个bash脚本,读取不断写入的文件的最后一个条目。 例如: while true do echo $`date +%s` >> output.txt done 但是,tail-n1 output.txt有时返回两行而不是一行。比如说 tail -n1 output.txt $1582329371 $1582329371 可能的原因是什么?我使用Wiimm建议的tail-n1 output.txt | tail-n1解决了这个问题。谢谢也许文件是在tail运行时附

我试图创建一个bash脚本,读取不断写入的文件的最后一个条目。 例如:

while true
do
  echo $`date +%s` >> output.txt
done
但是,
tail-n1 output.txt
有时返回两行而不是一行。比如说

tail -n1 output.txt 
$1582329371
$1582329371

可能的原因是什么?

我使用Wiimm建议的tail-n1 output.txt | tail-n1解决了这个问题。谢谢

也许文件是在tail运行时附加的。因此,在找到最后一个换行符后,另一行被写入文件,然后从该换行符打印到末尾。通常的处理方法是什么?我需要做另一个tail来获得实际的最后一个值吗?你可以把它放在一个变量中,然后使用一个参数扩展操作符来获得最后一个换行符的所有内容。你可能会遇到其他问题,你可能会读到一部分行。如果tail将fiel指针存储在非优化行中,并且如果可能的话,这只能发生。如果我是真的,
tail-n1