linux - tail -f 搜索带有 * 匹配项和最新日期时间的文件

标签 linux bash shell tail

我正在尝试跟踪目录中与名称匹配的最新文件。

下面的例子不起作用

tail -f | ls -t /var/log/impala/impalad.demo.local.impala.log.INFO.* | head -1

tail: warning: following standard input indefinitely is ineffective
/var/log/impala/impalad.demo.local.impala.log.INFO.20180322-104843.43442

跟踪具有最新时间的 impalad.demo.local.impala.log.INFO.* 的最佳方法是什么?

最佳答案

使用

tail -f $(ls -t /var/log/impala/impalad.demo.local.impala.log.INFO.* | head -1)

相反。 tail需要读取一个文件,您可以通过 ls -t /var/log/impala/impalad.demo.local.impala.log.INFO.* | head -1 获取该文件。管道遵循input | output不过,您当前的计划不会让您走得太远。将文件名通过管道输入 tail也不起作用,因为 tail不期望来自标准输入的文件名。将文件名传递给 tail您必须将其作为参数传递。

关于linux - tail -f 搜索带有 * 匹配项和最新日期时间的文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49565792/

相关文章:

c - Linux 内核模块 Makefile 不能包含相对路径

创建和打开文件 linux 编程

linux - 如何在 ubuntu 中隐藏 "find"命令的详细信息?

bash - CYGWIN 中的 mkfs.vfat 和 mkfs.ext3

linux - bash - 查找所有 .bashrc 文件并附加到它们

mysql - 从终端或 shell 脚本制作 neo4j 命令

linux - 远程权限被拒绝/未找到路径的 SSH 本地脚本

linux - gcc 出现错误 libcpp/charset.c(1747) : error: identifier "saved_error_handler" is undefined

bash 选项卡完成过滤掉选项

bash - 如何将 SIGINT 发送到 shell 脚本?