列出从索引开始的所有匹配文件

列出从索引开始的所有匹配文件

在zsh中,有[m,n] 全局限定符其工作原理如下:

[求[,结束]]

指定哪个匹配的文件名应包含在返回的列表中。语法与数组下标相同。 beg 和可选的 end 可以是数学表达式。与参数下标一样,它们可能是负数,以使它们从最后一个匹配向后计数。例如:“*(-OL[1,3])”给出三个最大文件的名称列表。

例如,如果我输入:

print *([2,10]) 

它将返回与 匹配的元素 2 到 10 *

我的问题是:如何让 zsh 返回从元素 X 到列表末尾的匹配元素?

例如,假设我在一个文件夹中有 2500 个文件,但我不知道这个数字,我想匹配所有文件从...开始文件160。

我努力了:

1)print -l *([160])

-> 仅匹配文件#160。

2)print -l *([160,])

-> 未找到匹配项

3)print -l *~*([1,160])

-> 未找到匹配项

答案1

负数从末尾开始计数。最后一个元素是-1。

print -l *([160,-1])

如果您想要最后 42 个:

print -l *([-42,-1])

相关内容