it-swarm-ru.tech

Как получить только файлы, созданные после даты с ls?

С помощью команды ls можно показать только файлы, созданные после определенной даты, часа ...?

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

Я так хочу увидеть все файлы, которые были созданы со вчерашнего дня.

Я использую ls -ltr но мне нужно подождать, чтобы увидеть все файлы ...

Существует эквивалент DIRECTORY/SINCE=date из OpenVMS?

109
Luc M

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

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

find . -maxdepth 1 -mtime -1

Обратите внимание, что для поиска файлов, измененных до 24 часа назад, вы должны использовать -mtime +1 вместо -mtime -1.

132
dogbane
find . -type f -newermt '1/30/2017 0:00:00'

Это найдет все файлы, измененные после определенной даты.

29
nullability
ls -ltr | grep "`date | awk '{print $2" "$3}'`"
1
Trant Batey

Надеюсь, что это работает:

ls -ltr | awk '$6 == "May" && $7 >=01 && $7 <= 31 {print $9}'

Вот:

$6 indicates position of month
$7 indicates day of the month

эта команда выводит все имена файлов, которые были созданы с 1 по 31 мая или после этой даты

если вы хотите распечатать дату и на консоли, попробуйте это

ls -ltr | awk '$6 == "May" && $7 >=01 && $7 <= 31 {print $6"-"$7,$9}'

Если вы хотите указать путь к каталогу, вы можете попробовать это

ls -ltr <path>| awk '$6 == "May" && $7 >=01 && $7 <= 31 {print $6"-"$7,$9}'
0
Rohit Nimmala