我有一个备份 bash 脚本,它将所有内容散列到备份目录中的 tar.gz 中。对于恢复脚本,我需要能够从 bash 中选择最新的一个。我的备份文件夹的格式是backup/YYYY-MM-DD/HH-MM.tar.gz
示例文件结构如下
/2016-03-08/1230.tar.gz
/2016-03-08/0615.tar.gz
/2016-03-07/0615.tar.gz
答案1
给定文件名和目录结构,您可能只需使用find
和sort
:
find backup -type f -iname '*.tar.gz' | sort -r | head -1
这应该返回最新的文件。YYYY-MM-DD/HHMM
按字典顺序排序的日期也给出了按时间排序的顺序。
要将此文件放入变量中,请使用命令替换:
newest_file=$(find backup -type f -iname '*.tar.gz' | sort -r | head -1)