linux: самый последний файл в каталоге, исключая каталоги и. файлы - PullRequest
6 голосов
/ 17 октября 2011

Я хотел бы найти последний измененный файл в каталоге, исключая скрытые файлы (начинающиеся с.), А также исключая каталоги.

Этот вопрос направлен в правильном направлении, но не совсем то, что мне нужно:

Linux: самый последний файл в каталоге

Ключевым моментом здесь является исключение каталогов ...

Ответы [ 4 ]

11 голосов
/ 17 октября 2011

Как и ответ там, за исключением без -A

ls -rt | tail -n 1

Для получения дополнительной информации посмотрите man ls.

Чтобы исключить каталоги, мы используем опцию -F, чтобы добавить«/» в каждый каталог, а затем отфильтруйте те, которые не имеют «/»:

ls -Frt | grep "[^/]$" | tail -n 1
3 голосов
/ 17 октября 2011

Это делает то, что вы хотите, за исключением каталогов:

stat --printf='%F %Y %n\n' * | sort | grep -v ^directory | head -n 1
0 голосов
/ 17 октября 2011

, вероятно, такой же, как ответ в другом посте, но с небольшой разницей (исключая каталоги) -

ls --group-directories-first -rt | tail -n 1
0 голосов
/ 17 октября 2011

тот же, не очень чистый, но: ls -c1 + хвост, если хотите => ls -c1 | tail -1

$ touch a .b
$ ls -c1
a
$ ls -c1a
a
.b
$ touch d
$ ls -c1
d
a
$ ls -c1a
.
d
a
.b
..
$ touch .b
$ ls -c1a
.b
.
d
a
..

Как видите, без a arg в списке отображаются только видимые файлы.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...