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