ZSH:按字典顺序遍历路径下的前 N ​​个文件

ZSH:按字典顺序遍历路径下的前 N ​​个文件

我想知道是否有一种方法可以指定 zsh 中给定目录下的前 N ​​个文件。

我对递归枚举的解决方案感兴趣(即,考虑枚举路径下递归的任何文件)和非递归(仅考虑严格位于给定文件夹下的那些文件)。

谢谢!

答案1

它是 zsh,所以确实有一个全局限定符为了那个原因。

echo *([1,42])         # The first 42 files in the current directory, in lexicographic order
echo **/*([1,42])      # The first 42 files in a depth-first traversal
echo **/*(od[1,42])    # The first 42 files in a breadth-first traversal

其他可能有用的限定符,例如以下表达式包括点文件 ( D),限制为常规文件 ( .) 和常规文件的符号链接 ( -),如果没有匹配项,则扩展为空列表 ( N):

echo *(-.DN[1,42])

相关内容