2015-11-11 33 views
0

我想要做的是使用find类型-f与newermt选项,但后来我意识到我需要提前一天才能得到我的结果,这就是我卡住的地方。例如:在Bash中,如何获取用户输入的日期,然后搜索为该日期创建的文件?

find . -type f -newermt 20150505 -newermt 20150506 

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

/myscript.sh 20150505 

但问题是,我会以一天来推进用户输入日期,这似乎是一个烂摊子(原因很明显)。另外,让用户放入两个日期来调用这个脚本是不需要的。有人可以提供更好的解决方案,或者有可能将他们的输入转换为实际的日期,让linux在一天内推进,这样才有意义?

+0

所以从你想'查找用户... -newermt X -newermt(X +1天)'给定的输入X? – fedorqui

+0

'-newermt'做了什么,为什么需要指定两次? (鉴于初选是隐含的“与”,看起来像'--newermt 20150505'将一直是真的,如果另一个是,使其成为冗余。) – chepner

回答

1

您可以使用GNU date提前日期:

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

谢谢你,完美的作品 – sgwrist

相关问题