📜  查找在最后一分钟内编辑的文件 - Shell-Bash (1)

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

查找在最后一分钟内编辑的文件 - Shell-Bash

如果你需要查找在最后一分钟内被编辑的文件,Shell或Bash脚本可以帮助你轻松实现这个功能。下面将介绍如何使用Shell或Bash脚本编写一个程序来查找最近一分钟内被编辑过的文件。

程序介绍

以下是我们要编写的程序的简要介绍:

  1. 获取当前时间,存储在变量中;
  2. 获取当前时间前一分钟的时间,存储在变量中;
  3. 使用 find 命令查找在指定时间范围内被编辑过的文件;
  4. 输出找到的文件列表。
程序实现

首先,我们需要获取当前时间和前一分钟的时间,可以使用 date 命令:

current_time=$(date +%s)
last_minute=$(date -d '1 minute ago' +%s)

+%sdate 命令的一个选项,它可以将日期转换成UNIX时间戳。

接着,我们使用 find 命令查找在指定时间范围内被编辑过的文件:

find /path/to/search -type f -newermt @$last_minute ! -newermt @$current_time

这将查找指定路径下的所有文件,在 last_minutecurrent_time 之间被编辑过的文件。

最后,我们将找到的文件输出:

find /path/to/search -type f -newermt @$last_minute ! -newermt @$current_time -printf '%f\n'

find 命令的结尾,我们添加了 -printf '%f\n',它可以使用 printf 格式输出文件名,并在每个文件名后加上一个换行符。

完整程序

以下是我们的完整Shell/Bash代码:

#!/bin/bash

current_time=$(date +%s)
last_minute=$(date -d '1 minute ago' +%s)

find /path/to/search -type f -newermt @$last_minute ! -newermt @$current_time -printf '%f\n'

请替换 /path/to/search 为你要查找的路径。

结论

使用Shell/Bash编写一个程序来查找最近一分钟内编辑过的文件是非常简单的。只需要使用 datefind 命令就可以轻松地实现它。