我有一个日志文件,我想将其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]