Список всех файлов, измененных за последние 5 минут, за исключением каталогов .svn - PullRequest
26 голосов
/ 01 декабря 2011

Я хочу перечислить все файлы, измененные за последние 5 минут, за исключением каталогов .svn.

Я работал вместе со следующим скриптом, который, похоже, не соответствует ни одному из -atime или -ctime params.

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

Я чувствую, что копаюсь в яме, которую может легко заметить дополнительный набор глаз.

Ответы [ 3 ]

33 голосов
/ 01 декабря 2011

Попробуйте другой порядок аргументов. Ваша команда:

  • Если запись доступна в течение пяти минут и является каталогом , а имеет имя .svn, то запись игнорируется
  • в противном случае для во всех остальных случаях , если это файл, выведите имя

Следующая команда обрезает каталоги .svn, прежде чем спуститься в них:

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

Если файл является каталогом и имеет имя .svn, игнорируйте его и не спускайтесь в него. В противном случае, если он был последний раз изменен (-mmin) в течение 5 минут и файла, выведите имя файла.

1 голос
/ 01 декабря 2011

-and предполагается между -atime и -type d, поэтому вы удаляете только каталоги SVN старше 5 минут.Попробуйте:

find . -type d -name .svn -prune -o -type f -mmin 5 -print
1 голос
/ 01 декабря 2011

-atime просматривает время последнего доступа. Я думаю, что вы ищете -mmin. У меня под рукой только Cygwin, поэтому я не могу проверить это ...

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...