Как подставить только самое большое число в zsh?

У меня есть папка с материалами для учебы в университете, рассортированная по семестрам:

$ ls University
semester1 semester2 semester3 semester4

Я пытаюсь сделать один из них именованным каталогом и хочу, чтобы zsh всегда указывал на каталог, оканчивающийся наибольшим числом (поэтому мне не нужно обновлять ярлык каталога каждый семестр).

Пока нашел только расширение zsh ‹->:

$ ls semester<->
semester1 semester2 semester3 semester4

но я не могу найти способ извлечь из этого только последнее имя каталога.

Любая идея, как я должен действовать или что я должен изменить?


person khardix    schedule 16.04.2013    source источник


Ответы (1)


latestSemester=`ls semester<-> | tail -1`
echo $latestSemester

на самом деле это тоже работает

latestSemester=`ls semester<->([-1])`

РЕДАКТИРОВАТЬ: исправлена ​​вторая строка, в первой версии которой отсутствовали скобки.

Из мануала ЗШ

[beg[,end]]
    specifies which of the matched filenames should be included in the returned list. The
    syntax is the same as for array subscripts. beg and the optional end may be mathemat-
    ical expressions. As in parameter subscripting they may  be  negative  to  make  them
    count  from the last match backward. E.g.: ‘*(-OL[1,3])’ gives a list of the names of
    the three largest files.
person Francisco    schedule 18.04.2013
comment
по какой-то причине я написал неправильный код (пропущены скобки), спасибо, что указали. - person Francisco; 22.04.2013