Um número negativo conta a partir do final. O último elemento é -1.
print -l *([160,-1])
Se você quisesse os últimos 42:
print -l *([-42,-1])
No zsh, existe o [m,n]
qualificador da glob que funciona da seguinte forma :
[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 mathematical 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.
Por exemplo, se eu digitar:
print *([2,10])
retornará os elementos de 2 a 10 correspondidos por *
.
A minha pergunta é: Como posso pedir ao zsh para retornar os elementos correspondentes começando do elemento X até o final da lista?
Por exemplo, digamos que eu tenha 2500 arquivos em uma pasta, MAS não sei esse número, e gostaria de combinar todos os arquivos a partir do arquivo 160.
Eu tentei:
1) print -l *([160])
- > corresponde apenas ao arquivo # 160.
2) print -l *([160,])
- > Nenhuma correspondência encontrada
3) print -l *~*([1,160])
- > Nenhuma correspondência encontrada