我有一个包含大学学习资料的文件夹,按学期排序:
$ ls University
semester1 semester2 semester3 semester4
我正在尝试将其中一个命名为目录,并且我希望zsh始终指向以最高编号结尾的目录(因此我不必每学期都更新我的目录快捷方式)。
到目前为止,我发现只有zsh扩展< - >:
$ ls semester<->
semester1 semester2 semester3 semester4
但我找不到从中提取最后一个dirname的方法。
知道我应该怎么做或者我应该改变什么?
答案 0 :(得分:1)
latestSemester=`ls semester<-> | tail -1`
echo $latestSemester
实际上这也有效
latestSemester=`ls semester<->([-1])`
编辑:修正了第二行,其第一个版本错过了括号。
来自zsh手册
[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.