gpt4 book ai didi

linux - Bash 脚本查找其中包含修改文件的目录

转载 作者:塔克拉玛干 更新时间:2023-11-03 00:46:35 25 4
gpt4 key购买 nike

为了在备份脚本中使用,我正在寻找一种方法来查找自特定时间以来已修改的所有文件夹。我做到了:

find ./ -maxdepth 1 -mtime -1 -type d

不幸的是,这不会返回任何结果,因为目录本身没有被修改,只有一些目录中的内容。完整的脚本现在是:

repodir=/somepath
backupdir=/someotherpath

find . -mtime -1 -type d -maxdepth 1|while read repo; do
svnadmin dump -q $repodir/$repo | bzip2 -9 > $backupdir/$repo-`date +%F`.dump.bz2
done

最佳答案

试试这个:

find . -mindepth 2 -type f -mtime -1 | sed 's,^\./,,;s,/.*$,,' | sort -u | \
while read repo; do
svnadmin dump -q $repodir/$repo | bzip2 -9 > $backupdir/$repo-`date +%F`.dump.bz2
done

它在子目录中搜索已更改的文件,然后从路径中删除除第一个目录部分以外的所有部分,并使用 sort -u 删除重复项。请注意,它还会从结果中删除初始的 ./,但看起来您并不真的想要/不需要那部分。

关于linux - Bash 脚本查找其中包含修改文件的目录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36469457/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com