Я создал файл .txt
, но теперь я забыл, где его сохранить, а также имя файла. Поэтому мой вопрос: есть ли способ отфильтровать .txt
файлов по убыванию даты создания? В настоящее время я использую Ubuntu 12.04 на 32 битах.
Расширяя комментарий @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
Можно найти *.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
Команда поиска может фильтровать по mtime, например,
.find path/to/some/directory -type f -name *.txt -mtime 5
Это отобразит любые файлы в каталоге / path / some /, которые были изменены за последние 5 * 24 часа. Однако они не будут отсортированы по дате создания - при условии, что вы не изменили слишком много текстовых файлов за последнее время - при достаточно жестком фильтре mtime список возвращаемых файлов должен быть довольно небольшим. Вместо сортировки по дате эта команда только покажет файлы, которые были недавно изменены ...
Возможно, вы могли бы объединить это с каналом в xargs ls, как описывает AJefferiss, чтобы добавить сортировку, если это необходимо.