C++ 是否将文件的修改时间与给定的时间戳进行比较?
我有一个hdfs目录,里面有很多文件和目录,格式如下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
-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++函数中使用这个函数,它在($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"