我必须每天检查特定路径并找到名称格式为以下的文件:
StaticData_Sets_yyyymmdd-232550.txt
字符串后面的名称中的日期StaticData_Sets_
每天都会更新,具体取决于系统日期。日期后面的数字是随机的。
如何在 Unix 中找到当前日期的文件?
答案1
使用命令date
以正确的输出格式生成当前日期,并按以下方式将该字符串附加到文件名:
filename=StaticData_Sets_$(date +"%Y%m%d")
find . -name "$filename*.txt"
答案2
该find
命令应该找到具有今天日期的文件:
find /path/ -regex ".*\/StaticData_Sets_$(date +%Y%m%d)-[0-9]+\.txt"
它会找到所有包含 的内容/StaticData_Sets_
,然后是所需格式的日期,然后是一个数字 ( [0-9]+
)。
答案3
如果该文件直接位于给定的路径下(没有额外的子目录),那么这应该可以工作。
file=$path/StaticData_Sets_$(date +"%Y%m%d")-*.txt
如果有那么这应该可以工作(可能需要globstar
在 bash 中手动启用)。
file=$path/**/StaticData_Sets_$(date +"%Y%m%d")-*.txt