如何在bash中显示多个文件的尾部

Mor*_*eus 2 bash

我正在尝试监视最新五个文件的进度,并且我想查看每个文件的最后几行。

我能够使用以下命令获取最新的五个文件:

ls *.log -lt | head -5 
Run Code Online (Sandbox Code Playgroud)

但我想迭代这五个文件并显示每个文件的最后 10 行。我想知道是否可以通过单个 bash 命令而不是循环来完成。但如果不能完成,我也希望 bash 循环实现

Joh*_*ica 6

tail可以采用多个文件名。

tail -n 10 $(ls -t *.log | head -5)
Run Code Online (Sandbox Code Playgroud)

添加-F以持续监控它们的变化。

如果文件名可能有空格xargs会更稳健:

ls -t *.log | head -5 | xargs -d '\n' tail -n 10
Run Code Online (Sandbox Code Playgroud)