如何对具有随机名称的文件进行尾部处理?

如何对具有随机名称的文件进行尾部处理?

我有一个日志文件,我想将其tail -f保存下来。我知道该文件位于哪个目录中,以及文件名,但我知道文件名末尾会添加 9 位随机数字。

我可以编写一个命令,tail无论随机的 9 位数字后缀是什么,它总是执行该文件吗?

例子:

tail -f /tmp/logger_output/log_file_i_want_to_read.log123456789

下一次的命令是:

tail -f /tmp/logger_output/log_file_i_want_to_read.log987654321

ETC。

log_file_i_want_to_read.log##########注意:我们可以假设该文件是该目录中唯一具有该名称的文件。

答案1

有几种方法,取决于你需要对比赛有多具体。

(匹配零个或多个任何类型的尾随字符):

tail -f /tmp/logger_output/log_file_i_want_to_read.log*

(匹配至少一位十进制数字的尾随字符串):

shopt -s extglob
tail -f /tmp/logger_output/log_file_i_want_to_read.log+([0-9])

(匹配尾随的恰好 9 位数字的字符串):

tail -f /tmp/logger_output/log_file_i_want_to_read.log[0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9]

相关内容