如何使用filename中的日期查找超过一个月的文件?

时间:2018-06-12 02:15:35

标签: linux bash terminal

这将使用文件属性进行搜索。我知道这个:

find /home/abc -name "*.*" -mtime +30

但我希望使用附加到文件名的日期而不是文件时间来查找文件。例如,文件的格式为*-yyyymmdd

  • abcd-20180612
  • gh24-20180512

如何使用文件名中的日期查找超过一个月的文件?

1 个答案:

答案 0 :(得分:0)

使用GNU日期和awk:

find . -type f -name "*-????????" | awk -F '-' -v d=$(date -d "-1 month" +%Y%m%d) '$NF<d'

输出(示例):

./abcd-20180412
./efgh-20180511
./wxyz-20180510