С помощью ls
команды можно ли показывать только файлы, созданные после определенной даты, часа ...?
Я спрашиваю об этом, потому что у меня есть каталог с тысячами файлов.
Я так хочу увидеть все файлы, которые были созданы со вчерашнего дня.
Я использую, ls -ltr
но я должен ждать, чтобы увидеть все файлы ...
Есть эквивалент DIRECTORY/SINCE=date
из OpenVMS?
ls
перечисляет файлы, но он не предлагает много, чтобы выбрать, какие файлы для списка или выходной формат. Используйте globbing (подстановочные знаки оболочки) илиfind
когда вы хотите выбрать файлы по имени или метаданным (например, по дате).zsh
:ls -1 -- *(.m-1)
Ответы:
Вы можете использовать
find
команду, чтобы найти все файлы, которые были изменены после определенного количества дней.Например, чтобы найти все файлы в текущем каталоге, которые были изменены со вчерашнего дня (24 часа назад), используйте:
Обратите внимание, что для поиска файлов, измененных до 24 часов назад, вы должны использовать
-mtime +1
вместо-mtime -1
.источник
ls
здесь, Люк.-mmin 5
список файлов, измененных за последние 5 минут.-newermt "2011-02-27 13:42"
перечисляет файлы, измененные с указанной даты. Вы можете использовать-exec ls --color -ld {} +
вместо,-ls
чтобы получить обычный цветной дисплей (если вам нравится цветной вывод ls).find . -mmin -5
Это найдет все файлы, измененные после определенной даты.
источник
источник
date
говоритJun 03
, ноls
говоритJun 3
, так что это не работает. (2) Неделю назад, дата была 27 мая. В нейls -l | grep "May 27"
были найдены файлы, измененные в этот день, а также файлы, измененные 27 мая любого другого года - и файлы с «27 мая» в их названии. (И если вы думаете , что это совершенно фиктивный беспокойство, посмотрите «Дек 10» ). (3) И, если вам удалось получитьdate
сказатьJun 2
, что для оглавлению бы найтиJun 20
черезJun 29
, но неJun 2
(с двумя пробелами). … (Продолжение)ls -ltr
для получения последних измененных файлов в конце списка. Если вы ищете дату, делать это не нужно (за исключением получения файлов от 27 мая 2015 года в конце списка, после файлов от 27 мая 2014 года, 27 мая 2013 года и т. Д.). (5) В awkprint $2, $3
эквивалентенprint $2" "$3
и намного проще для чтения - особенно, когда есть три других уровня кавычек.ls -ltr | grep "$(date | awk '{print $2,$3}')"
Надеюсь, что это работает:
Вот:
эта команда выводит все имена файлов, которые были созданы с 1 по 31 мая или после этой даты
если вы хотите распечатать дату и на консоли, попробуйте это
Если вы хотите указать путь к каталогу, вы можете попробовать это
источник
ls
вывод. И не все говорят по-английски :-)