ls-rt (Как перечислить просто ПОСЛЕДНИЙ файл? например, для: | xargs открытый для гнома)

например, каталог, содержащий jpeg файлы: как легко открыть просто новый jpeg в текущем каталоге?

13
задан 09.10.2010, 11:10

3 ответа

ls -rt | tail -1

-1 говорит хвосту показывать только одну строку, если Вы хотите быть более ясными, можно использовать долгую опцию вместо этого

ls -rt | tail --lines=1

17
ответ дан 07.12.2019, 11:27

То, что Вы действительно хотите, является первым файлом необратного основанного на времени списка.

ls -t | head -1

-r для людей, потому что мы хотим последнюю вещь на экране, который прокрутил, а не первое. В случае машины, понимая это, это могло бы также использовать head и остановитесь после первого, вместо того, чтобы имейте tail пробегите список.

18
ответ дан 07.12.2019, 11:27

С zsh:

gnome-open *.jpg(om[1])

Спецификатор шарика (om) сортирует соответствия путем увеличения возраста (т.е. в антихронологическом порядке). Спецификатор шарика ([1]) выбирает только первое соответствие. Вы могли использовать *.jpg(om[1,4]) открыть 4 новых файла, и так далее.

В других оболочках:

gnome-open "$(\ls -t *.jpg | head -1)"

но остерегайтесь этого, если у Вас есть непечатаемые символы или байты в Ваших именах файлов (который обычно происходит, если у Вас есть имена файлов в другом наборе символов от Вашей локали), ls заменит их ?, таким образом, это не будет работать.

2
ответ дан 07.12.2019, 11:27

Теги

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