2013-04-16 6 views
0

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

$ ls University 
semester1 semester2 semester3 semester4 

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

До сих пор я нашел только расширение ЗШ < ->:

$ ls semester<-> 
semester1 semester2 semester3 semester4 

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

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

ответ

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

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

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

EDIT: Исправлена ​​вторая линия, чья первая версия пропущенный скобки.

Из ЗШ руководства

[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. 
+0

Вы уверены, что ваш второй пример работает? – chepner

+0

по какой-то причине я написал неправильный код (он пропустил скобки), спасибо, что указали его. – Francisco

 Смежные вопросы

  • Нет связанных вопросов^_^