Как мне найти все файлы, которые были созданы сегодня в Unix / Linux? - PullRequest
51 голосов
/ 29 апреля 2009

Как мне найти все файлы, которые были созданы только сегодня, а не за 24 часа в unix / linux

Ответы [ 11 ]

50 голосов
/ 29 апреля 2009

В моей системе Fedora 10 с findutils-4.4.0-1.fc10.i386:

find <path> -daystart -ctime 0 -print

Флаг -daystart указывает на необходимость расчета с начала сегодняшнего дня, а не с 24 часов назад.

Обратите внимание, что на самом деле это будет список файлов, созданных или , измененных в последний день. find не имеет параметров, которые проверяют истинную дату создания файла.

33 голосов
/ 25 сентября 2013
find . -mtime -1 -type f -print
17 голосов
/ 29 апреля 2009

Чтобы найти все файлы, которые были изменены только сегодня (с начала дня, то есть в 12 часов утра), в текущем каталоге и его подкаталогах:

touch -t `date +%m%d0000` /tmp/$$
find . -type f -newer /tmp/$$
rm /tmp/$$

Источник

6 голосов
/ 06 марта 2018

Я использую это с некоторой частотой:

$ ls -altrh --time-style=+%D | grep $(date +%D)
2 голосов
/ 29 августа 2018

Пройдя майские посты, я нашел лучший, который действительно работает

find $file_path -type f -name "*.txt" -mtime -1 -printf "%f\n"

Это печатает только имя файла, как abc.txt не /path/tofolder/abc.txt

Также можно поиграть или настроить с помощью -mtime -1

2 голосов
/ 05 апреля 2018

Используйте ls или find, чтобы получить все файлы, которые были созданы сегодня.

Использование ls: ls -ltr | grep "$(date '+%b %e')"

Использование find: cd $YOUR_DIRECTORY; find . -ls 2>/dev/null| grep "$(date '+%b %e')"

1 голос
/ 29 апреля 2009

Вы не можете. Ответ @ Alnitak - лучшее, что вы можете сделать, и даст все новые файлы за период, за который он проверяет, но -ctime фактически проверяет время модификации inode файла (дескриптор файла), и поэтому также будет перехватывать любые старые файлы (например), переименованные в последний день.

0 голосов
/ 30 мая 2019

Это сработало для меня. Перечисляет файлы, созданные 30 мая в текущем каталоге.

ls -lt | grep 'May 30'
0 голосов
/ 16 сентября 2017

Если вы сделали что-то вроде случайно rsync'd в неправильный каталог, приведенные выше предложения работают для поиска новых файлов, но для меня проще всего было соединиться с SFTP-клиентом, таким как Transmit, затем упорядочить по дате и удалить.

0 голосов
/ 09 марта 2017

Только помните, что между августом и 26 есть 2 пробела. В противном случае ваша команда поиска не будет работать.

find . -type f -exec ls -l {} \; |  egrep "Aug 26";
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...