使用 diff 和 ls 检测远程文件夹中更改的文件

使用 diff 和 ls 检测远程文件夹中更改的文件

我有一个具有读取权限的远程目录。我想生成自上次迭代以来更改的文件列表。

我的想法是这样的:

$ cp output.new output.old
$ ll > output.new
$ diff output.new output.old > list.files

这个想法是list.files只有新文件或具有不同“修改时间戳”的文件的名称和相对路径,如下所示:

file1
files2
dir1/file3
dir2/file4

所以我问的是diffls参数。

答案1

#!/bin/sh

topdir=/some/directory
stampfile="$HOME/.stamp"

if [ -f "$stampfile" ]; then
    find "$topdir" -type f -newer "$stampfile"
fi

touch "$stampfile"

这个小脚本将维护一个时间戳文件,每次运行脚本时该文件都会更新。它将找到$topdir目录中修改时间戳比 .txt 中的时间戳文件新的所有文件$stampfile

第一次运行该脚本时,时间戳文件不存在,因此该脚本不会输出任何内容。在后续运行中,该脚本将列出自上次运行以来修改的文件。

相关内容