首页 > 解决方案 > 如何在bash中显示多个文件的尾部

问题描述

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

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

ls *.log -lt | head -5 

但我想遍历这五个文件并显示每个文件的最后 10 行。我想知道是否可以在单个 bash 命令而不是循环中完成。但如果它不能完成,我也会很感激一个 bash 循环实现

标签: bash

解决方案


tail可以取多个文件名。

tail -n 10 $(ls -t *.log | head -5)

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

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

ls -t *.log | head -5 | xargs -d '\n' tail -n 10

推荐阅读