列出最近5分钟内修改的所有文件,不包括.svn目录

时间:2011-12-01 19:47:00

标签: bash terminal

我想列出过去5分钟内修改过的所有文件,不包括.svn目录。

我合作了以下脚本,似乎没有遵守任何-atime-ctime参数。

find . -atime -5m -type d -name .svn -prune -o -type f -print

我觉得我正在把自己挖到一个洞里,一副额外的眼睛很容易发现。

3 个答案:

答案 0 :(得分:33)

尝试不同的参数顺序。你的命令:

  • 如果在五分钟内访问某个条目是目录的名称为.svn,则该条目将被忽略
  • 否则,对于所有其他情况,如果是文件,则打印名称

以下命令在降级之前修剪.svn个目录:

find . -type d -name .svn -prune -o -mmin -5 -type f -print

如果文件是目录的名称为.svn,请忽略它,也不要进入其中。否则,如果在5分钟内上次修改(-mmin文件,则打印文件名。

答案 1 :(得分:1)

-atime查看上次访问的时间。我想你正在寻找-mmin。我只有cygwin方便,所以我无法测试...

答案 2 :(得分:1)

假设在-and-atime之间{p> -type d,因此您只修剪超过5分钟的SVN目录。尝试:

find . -type d -name .svn -prune -o -type f -mmin 5 -print
相关问题