Linux 获取创建日期大于某个日期的文件列表
我在Hadoop中有这些文件,并且想要创建日期大于Linux 获取创建日期大于某个日期的文件列表,linux,bash,hadoop,awk,Linux,Bash,Hadoop,Awk,我在Hadoop中有这些文件,并且想要创建日期大于2016-11-21的所有文件的列表 -rw-r----- 3 pharpan1 hadoop 73439 2017-01-02 15:20 manpoc_pre -rw-r----- 3 pharpan1 hadoop 12190 2017-02-02 19:42 message.txt -rw-r----- 3 pharpan1 hadoop 374 2016-11-14 18:18 newbin
2016-11-21
的所有文件的列表
-rw-r----- 3 pharpan1 hadoop 73439 2017-01-02 15:20 manpoc_pre
-rw-r----- 3 pharpan1 hadoop 12190 2017-02-02 19:42 message.txt
-rw-r----- 3 pharpan1 hadoop 374 2016-11-14 18:18 newbin
-rw-r----- 3 pharpan1 hadoop 614 2016-11-14 18:19 newcalcpi
-rw-r----- 3 pharpan1 hadoop 154 2016-11-21 20:12 newspoc
我尝试了下面的命令,但它正在打印所有文件。如何只得到满足条件的一个
dateA='2016-11-21'
hdfs dfs -ls -t | awk '{if($6 -ge dateA) print $8;}'
将输入日期作为变量传递到
awk
表达式中(通过-v
选项):
输出:
manpoc_pre
message.txt
您可以尝试以下方法: 首先,确定从现在到2016年11月21日的天数:
$ (( DAYS = ($(date +"%s") - $(date +"%s" -d "2016-11-21")) / ( 24 * 3600 ) ))
$ echo $DAYS
108
接下来,使用该变量查找文件:
find /my/directory -ctime -${DAYS} -type f
find /my/directory -ctime -${DAYS} -type f