📜  linux find after date - Shell-Bash (1)

📅  最后修改于: 2023-12-03 14:43:55.096000             🧑  作者: Mango

Linux Find After Date – Shell/Bash

在Linux中,经常需要以日期为基础来查找文件。它是一种简单实用的技术,可用于找到最近变更或创建的文件。在本文中,我们将介绍使用Shell/Bash在Linux中查找指定日期之后的文件的方法。

使用find命令

find命令是Linux中一个用于查找文件的重要命令,可以通过使用“-newer”选项查找新于指定时间点的文件。

以下是一个示例命令,它会在当前目录下查找所有新于2021年7月1日的文件和目录。

$ find . -newermt "2021-07-01"
选项说明
  • “.” 是要查找的目录,可以按需修改。
  • “-newermt”指定要查找的时间。可以使用“-newer”,然后跟上文件名来指定要查找的文件的时间戳。(时间戳可以使用“touch”命令来修改)。
  • 记得使用双引号将日期时间字符串括起来,以防止被Shell解释器误解为其他命令。
使用find和awk命令

除了使用“-newer”选项之外,我们还可以结合使用“find”和“awk”的命令,以更方便地查找指定时间点之后的文件。

以下是一个示例命令,它将在当前目录下查找所有新于2021年7月1日的文件和目录,并仅显示它们的名称。

$ find . -type f -printf '%f\n' | awk -F'-' '$1 > 2021 && $2 > 07 && $3 > 01'
选项说明
  • “-type f”只查找文件,而不查找目录。
  • “-printf”指定要打印的内容,这里使用“%f”仅打印文件名。
  • “awk”是一个文本处理器,它可以根据指定的条件处理文本数据。这里使用“-F'-'”指定以“-”字符作为分割符。
  • 如果第一个字段大于2021年,第二个字段大于07月,第三个字段大于01日,则表示文件的创建时间晚于2021年7月1日。
结论

无论您选择哪种方法,都可以在Linux中查找指定日期之后的文件。这是一项有用的技术,可以帮助您迅速找到最新修改或创建的文件。希望这篇文章对您有所帮助!