Як знайти файли, створені між hh: mm та HH: MM на будь-який день?


0

Наприклад, знайти всі файли, створені між 20:00 та 23:30 на будь-який день (не конкретний день)?

переживав man findі не бачив нічого, що б це зробило.

Чи повинен я написати власний сценарій для розбору створення разів?

Відповіді:


1

Ви можете -newerXYзнаходити файли між цими часами у певний день, як у:

find -newermt "20150203 2000" -a \! \( -newermt "20150203 2330" \)

Я використовую час модифікації, оскільки моя файлова система ext4 не містить часу створення. Якщо у вас є файлова система, яка її підтримує, ви можете використовувати -newerBt.

Якщо вам потрібно знайти файли між тим часом у будь-який день, тоді вам потрібно запустити скрипт для кожного файлу у вашому findсписку. Найпростішою командою для цього було б, stat -c %y "$1"а потім витягнути та проаналізувати часове поле.

Ви можете робити арифметику в секунди дня (($(stat -c %Y "$1") % 86400)), перевіряючи, що це між 72000 і 84600, але це буде ігнорувати літній час, визначаючи файли, змінені між 21:00 та 00:30 протягом літа.


1

Скористайтеся цією командою нижче:

find . -mtime $(date +%s -d"Aug 10, 2013 23:30:00") -mtime $(date +%s -d"Aug 1, 2013 20:00:00")

або спробуйте це:

find /var/tmp -mtime +2 -a -mtime -8 -ls

знайти файли старше 2 днів, але не старше 8 днів.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.