Фильтр .txt файла по убыванию даты создания

Я создал файл .txt, но теперь я забыл, где его сохранить, а также имя файла. Поэтому мой вопрос: есть ли способ отфильтровать .txt файлов по убыванию даты создания? В настоящее время я использую Ubuntu 12.04 на 32 битах.

0
задан 26 July 2013 в 11:29

3 ответа

Расширяя комментарий @soulsource, вам нужно использовать команду find . Самое простое использование, которое вы можете использовать, - это найти все файлы, которые заканчиваются на .txt на вашем компьютере, следующая команда будет выполняться, хотя файловая система, начинающаяся с корневого каталога:

find / -type f -iname '*.txt' 

Теперь, если вы знаете, что сохранили файл в определенном каталоге, например, в своем домашнем каталоге, но забудьте, какой подкаталог вы всегда можете ускорить поиск, изменив путь:

find ~/ -type f -iname '*.txt'

Теперь вам просто нужно передать | полученные файлы в ls, чтобы упорядочить их по дате

find ~/ -type f -iname '*.txt' | xargs ls -td1

Если вы получаете Возвращая большое количество файлов, вы всегда можете ограничить количество ответов, отправив их снова на head . Например, если вас интересуют только 10 самых последних результатов, которые вы можете использовать:

find ~/ -type f -iname '*.txt' | xargs ls -td1 | head -n10

Стоит отметить, что по find по умолчанию он не следует по символическим ссылкам, если Если у вас есть несколько символических ссылок в вашем домашнем каталоге, и вы хотите проверить их, вам нужно воспользоваться опцией -follow, чтобы найти.

find ~/ -type f -iname '*.txt' -follow | xargs ls -td1 | head -n10
0
ответ дан 26 July 2013 в 11:29

Можно найти *.txt файлы и вид их измененной датой с помощью следующей команды в терминале в терминале:

find /path/to/search -type f -iname '*.txt' -printf "%-.22T+ %Tx %.8TX %p\n" | sort | awk '{print $2 "\t" $3 "\t" $4}'

или:

cd /path/to/search
find . -type f -iname '*.txt' -printf "%-.22T+ %Tx %.8TX %p\n" | sort | awk '{print $2 "\t" $3 "\t" $4}'

Для последних измененных 10 *.txt использование файлов:

find . -type f -iname '*.txt' -printf "%-.22T+ %Tx %.8TX %p\n" | sort | awk '{print $2 "\t" $3 "\t" $4}' | tail
1
ответ дан 26 July 2013 в 11:29

Команда поиска может фильтровать по mtime, например,

.
find path/to/some/directory -type f -name *.txt -mtime 5

Это отобразит любые файлы в каталоге / path / some /, которые были изменены за последние 5 * 24 часа. Однако они не будут отсортированы по дате создания - при условии, что вы не изменили слишком много текстовых файлов за последнее время - при достаточно жестком фильтре mtime список возвращаемых файлов должен быть довольно небольшим. Вместо сортировки по дате эта команда только покажет файлы, которые были недавно изменены ...

Возможно, вы могли бы объединить это с каналом в xargs ls, как описывает AJefferiss, чтобы добавить сортировку, если это необходимо.

0
ответ дан 26 July 2013 в 11:29

Другие вопросы по тегам:

Похожие вопросы: