it-swarm.cn

如何只获取在ls日期之后创建的文件?

使用ls命令,是否可以仅显示在特定日期,小时之后创建的文件?

我问这是因为我有一个包含数千个文件的目录。

我想查看昨天以来创建的所有文件。

我用 ls -ltr,但我必须等待查看所有文件...

等效于DIRECTORY/SINCE=date来自OpenVMS?

109
Luc M

您可以使用find命令查找经过一定天数后已修改的所有文件。

例如,要查找自昨天(24小时前)以来已被修改的当前目录中的所有文件,请使用:

find . -maxdepth 1 -mtime -1

请注意,要查找在24小时前之前修改过的文件,您必须使用-mtime +1 代替 -mtime -1

132
dogbane
find . -type f -newermt '1/30/2017 0:00:00'

这将查找在特定日期之后修改的所有文件。

29
nullability
ls -ltr | grep "`date | awk '{print $2" "$3}'`"
1
Trant Batey

希望这行得通:

ls -ltr | awk '$6 == "May" && $7 >=01 && $7 <= 31 {print $9}'

这里:

$6 indicates position of month
$7 indicates day of the month

上面的命令显示在5月1日至5月31日或之后创建的所有文件名

如果您还想在控制台上打印日期,请尝试以下操作

ls -ltr | awk '$6 == "May" && $7 >=01 && $7 <= 31 {print $6"-"$7,$9}'

如果您想指定目录的路径,可以尝试一下

ls -ltr <path>| awk '$6 == "May" && $7 >=01 && $7 <= 31 {print $6"-"$7,$9}'
0
Rohit Nimmala