从目录结构/year/month/date.db中选择一系列文件

从目录结构/year/month/date.db中选择一系列文件

我的数据库存储在目录结构中

年/月/日.db

一个例子是

db/2013/10/15.db

我需要能够使用脚本选择其中的一系列文件(“dbSelect 2013/09/01.db 2013/10/15.db”应该输出这些日期之间的所有 .db 文件。

关于我该如何解决这个问题有什么想法吗?

答案1

这是我会做的事情。可能有更好/更优雅的解决方案。该脚本应从“db”目录运行。

#!/bin/bash

STARTDATE="2013/09/01"
ENDDATE="2013/10/15"

day=0

while [ "$DATE" != "$ENDDATE" ]; do
        DATE=`date --date="$STARTDATE + $day days" +%Y/%m/%d`
        if [ -f "$DATE.db" ]; then
                # This only echoes the file name, you might want to do something else here
                echo "$DATE.db"
        fi
        day=$(($day+1))
done

编辑:如果您希望它接受参数“./dbSelect.sh 2013/09/01 2013/10/15”:

#!/bin/bash

STARTDATE="$1"
ENDDATE="$2"

day=0

while [ "$DATE" != "$ENDDATE" ]; do
        DATE=`date --date="$STARTDATE + $day days" +%Y/%m/%d`
        if [ -f "$DATE.db" ]; then
                # This only echoes the file name, you might want to do something else here
                echo "$DATE.db"
        fi
        day=$(($day+1))
done

相关内容