![程序打开的文件的顺序](https://linux22.com/image/89270/%E7%A8%8B%E5%BA%8F%E6%89%93%E5%BC%80%E7%9A%84%E6%96%87%E4%BB%B6%E7%9A%84%E9%A1%BA%E5%BA%8F.png)
当我打开一组文件时,通常只需使用全局字符来打开目录或子集中的所有文件,通常(如果不是总是)默认情况下按字母顺序打开文件。如何获取要按修改日期打开的文件,例如您可以使用命令看到的文件ls -lt
?
答案1
Glob 由 shell 按字母顺序扩展。到看该顺序,不要使用ls
asls
也对其参数列表进行排序(尽管请参阅-U
GNU 实现中的选项来跳过该排序)。
唯一允许您以不同的排序顺序扩展 glob 的 shell 是zsh
使用它的o
(和O
反向的)glob 限定符(和n
数字排序)。
print -rC1 -- *(oL) # sort by length
print -rC1 -- *(om) # sort by modification time
print -rC1 -- *(n) # numeric sort
print -rC1 -- *(o+myfunc) # sort lexically after transformation by myfunc
print -rC1 -- *(oe['some code']) # same with inline code
ETC。