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