Ubuntu 如何删除文件名中早于特定日期的文件

How to delete files older than a certain date in file name in Ubuntu

我在单个文件夹中有文件,命名约定如下:bkup_yyyymmdd.log

例如,文件夹中有以下文件以相反的名称顺序列出:

bkup_20210513.log

bkup_20210512.log

bkup_20210511.log

bkup_20210510.log

bkup_20210509.log

我想删除 bkup_20210510.log 之前的文件。我查看了 this question,虽然看起来非常相似,但在那些回答中似乎有一些 'argument',我完全不知道哪个答案是正确的。因此我在这里重新发布。

我根据 this 问题的答案使用了以下内容:

weekago=`date -d -1week +%Y%m%d` 

OLDERTHAN='./bkup_'$weekago'.log' 

for fname in ./bkup_*.log; do test "$fname" "<" "$OLDERTHAN" && rm
 "$fname"; done

工作愉快。