12

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

3 ответа3

17

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

ls -t | head -1

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

16

ls -rt | tail -1

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

ls -rt | tail --lines=1

2

С зш:

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

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

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

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

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

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .