在Bash中,如何获取日期的用户输入,然后搜索为该日期创建的文件?

时间:2015-11-11 16:34:44

标签: linux bash date scripting find

我试图做的是使用find type -f和newermt选项,但后来我意识到我需要提前一天来获得我的结果,这就是我被困的地方。例如:

find . -type f -newermt 20150505 -newermt 20150506

这很好用,所以我打算让用户输入日期。所以:

/myscript.sh 20150505

但问题是,我必须将用户输入日期提前一天,这似乎是一团糟(显而易见的原因)。此外,让用户放入两个日期来调用此脚本是不需要的。有人可以提供更好的解决方案,或者可能有一种方法可以将他们的输入转换为实际日期,让linux推进它一天,这样才有意义吗?

1 个答案:

答案 0 :(得分:1)

您可以使用GNU date推进日期:

currentday=$1   # If this is 20150505, then ...
nextday=$(date +%Y%m%d --date "$currentday +1 day") # ... this is 20150506