C++ 是否将文件的修改时间与给定的时间戳进行比较?

C++ 是否将文件的修改时间与给定的时间戳进行比较?,c++,bash,shell,awk,gawk,C++,Bash,Shell,Awk,Gawk,我有一个hdfs目录,里面有很多文件和目录,格式如下 -rw-rw-rw- 3 root xyz <filesize> 2015-04-12 00:34 file1 -rw-rw-rw- 3 root xyz <filesize> 2015-04-11 11:34 file2 -rw-rw-rw- 3 root xyz <filesize> 2015-04-09 09:54 file3 drwxrwxrwx 3 root xyz 0

我有一个hdfs目录,里面有很多文件和目录,格式如下

-rw-rw-rw-   3 root xyz  <filesize> 2015-04-12 00:34 file1
-rw-rw-rw-   3 root xyz  <filesize> 2015-04-11 11:34 file2
-rw-rw-rw-   3 root xyz  <filesize> 2015-04-09 09:54 file3
drwxrwxrwx   3 root xyz    0        2015-04-02 00:34 dir
< >我在C++函数中使用这个函数,它在日期(YYYY MM DD)和时间(HH:MM:SS)格式中有两个时间戳。 我想在“awk”的“if”中加入条件,它可以过滤位于两个时间戳之间的文件

我试过了


($6>=startDate)&&($6=startTime)&($7您可以使用
find
来简化此过程

find . -newermt "$dt1" ! -newermt "$dt2"

这里是一个shell脚本,我曾经用来测试它。如果你可以从C++代码中传递参数,你可以用find命令将它缩短为一个内衬。

# Date 1
startDate=2015-04-11
startTime=21:10:00
dt1="$startDate $startTime"

# Date 2
endDate=2015-04-11
endTime=22:10:00
dt2="$endDate $endTime"
find . -newermt "$dt1" ! -newermt "$dt2"

注释:我假设,StestDead和StestTimeTo一起,EndoDead和EntTimes一起运行。但是您有选择其他的自由。

如果您运行C++代码,为什么要在AWK中执行所有这些操作?只需在C++中直接执行(和)。目录在HDFS文件S/M中,不是在我的本地文件系统中,而且是遗留的原因,让我知道如果您有什么建议使用AWK/GAWK来做它。那么,如果您可以在shell中访问它,您可以在C++或C或其他任何东西中访问它。但是,我需要编写另一个函数/ C++代码,递归地探索给定的Direct。值得一做吗?请注意,
awk'{if($1!~/d.*/){print$0}}.
可以被更严格地重写为
awk'$1!~/d/'
*
对您的regexp完全没有任何作用)或者甚至只是
awk'!/^d/'
,但是你必须想知道为什么你要使用awk而不是
grep-v'^d'
我不能使用“find”,因为java shell中没有用于hdfs的“find”命令。
# Date 1
startDate=2015-04-11
startTime=21:10:00
dt1="$startDate $startTime"

# Date 2
endDate=2015-04-11
endTime=22:10:00
dt2="$endDate $endTime"
find . -newermt "$dt1" ! -newermt "$dt2"