ls -rt | tail -1
Параметр -1
говорит хвосту показывать только одну строку, если вы хотите быть более понятным, вместо этого вы можете использовать опцию long
ls -rt | tail --lines=1
Например, каталог, содержащий файлы JPEG: как легко открыть только самый последний JPEG в текущем каталоге?
ls -rt | tail -1
Параметр -1
говорит хвосту показывать только одну строку, если вы хотите быть более понятным, вместо этого вы можете использовать опцию long
ls -rt | tail --lines=1
То, что вы действительно хотите, это первый файл из списка, не обращенного по времени.
ls -t | head -1
-R предназначен для людей, потому что мы хотим, чтобы на экране была прокручивалась последняя вещь, а не первая. В случае, если машина выяснит это, она может также использовать head
и останавливаться после первого, а не tail
пробежаться по списку.
С зш:
gnome-open *.jpg(om[1])
Спецификатор glob (om)
сортирует совпадения по возрасту (т.е. в антихронологическом порядке). Спецификатор glob ([1])
выбирает только первое совпадение. Вы можете использовать, *.jpg(om[1,4])
чтобы открыть 4 последних файла и так далее.
В других оболочках:
gnome-open "$(\ls -t *.jpg | head -1)"
но имейте в виду, что если в именах ваших файлов есть непечатаемые символы или байты (что обычно происходит, если у вас есть имена файлов в другом наборе символов, отличном от вашей локали), ls
их замените ?
, поэтому это не будет работать.