我有一个程序在运行时会将输出记录到*.out文件中。我设置了一个bash脚本多次运行,这样每次运行都会写入一个不同的*.out文件。我发现可以像这样使用tail
命令来查看最近的*.out文件:
watch tail $(ls -tr *.out | tail -n1)
问题似乎在于引用
$()
只执行一次。因此,当第一次运行完成时,watch
继续监视相同的*.out文件,即使现在有一个更新的*.out文件也是如此。我该如何修改它以在一次运行完成后转到下一个*.out文件?
我尝试过嵌套引号和括号,但我不太了解引用的详细信息。事情变得复杂起来的原因是
watch
将其命令传递给sh
,而我正在使用bash。加分项:如果可以将其修改为
tail -f
而不仅仅是每n
秒重复watch
,那就太好了。
tail -f *.out
更容易。 - pivanchytail
并不能保证同时处理多个文件。 - kojiro