用于在两个日期之间获取文件的KornShell脚本

用于在两个日期之间获取文件的KornShell脚本,shell,scripting,file,date,ksh,Shell,Scripting,File,Date,Ksh,需要通过KornShell(ksh)脚本获取两个给定日期之间的文件。如果一天内有多个文件,请获取当天最新的文件。我还没有尝试过,但需要在两个日期之间查找文件。有关部分: 触摸2个文件、开始日期和 停止约会,像这样:$touch-t 200603290000.00开始日期$touch-t 200603290030.00停止日期 好的,开始日期是2006年3月29日午夜, 停止日期为2006年3月29日30分钟后 午夜。你可能想做一个测试 -我要检查一下 在查找时,您可以查找-更新和 那么-更新的,

需要通过KornShell(ksh)脚本获取两个给定日期之间的文件。如果一天内有多个文件,请获取当天最新的文件。

我还没有尝试过,但需要在两个日期之间查找文件。有关部分:

触摸2个文件、开始日期和 停止约会,像这样:$touch-t 200603290000.00开始日期$touch-t 200603290030.00停止日期

好的,开始日期是2006年3月29日午夜, 停止日期为2006年3月29日30分钟后 午夜。你可能想做一个测试 -我要检查一下

在查找时,您可以查找-更新和 那么-更新的,如:$find/dir -更新的开始日期-更新的停止日期-打印

结合ls-l,您可以得到:$ 查找/目录-更新的开始日期-更新的 停止日期-打印0 | xargs-0 ls-l

(或者您可以尝试使用-exec执行ls -l、 我不确定格式,所以你得稍微混一混)


在bashshell中,仅举一个例子,您可以使用-nt测试操作符(如果我没有错的话,KornShell也附带了它)


在ksh的螺母壳中:

!/usr/bin/ksh
# main from_date to_date path
# date format: YYMMDDhhmmss
ls -l  --time-style "+%y%m%d%H%M%S" $3 | awk '{ print $6 " " $7 }' | while read t n
    do
        if (( t > $1 )) && (( t < $2 )); then
            echo $t $n
        fi
    done
/usr/bin/ksh
#主从\u日期到\u日期路径
#日期格式:YYMMDDhhmmss
ls-l--时间样式“+%y%m%d%H%m%S”$3 | awk'{print$6”“$7}'|在读取时
做
如果((t>$1))&((t<$2));然后
回声$t$n
fi
完成

你说的两次约会是什么意思?日期是文件名的一部分,还是需要根据文件的访问时间、创建时间获取文件?
!/usr/bin/ksh
# main from_date to_date path
# date format: YYMMDDhhmmss
ls -l  --time-style "+%y%m%d%H%M%S" $3 | awk '{ print $6 " " $7 }' | while read t n
    do
        if (( t > $1 )) && (( t < $2 )); then
            echo $t $n
        fi
    done