當我打開一組文件時,通常只需使用全域字元來開啟目錄或子集中的所有文件,通常(如果不是總是)預設會按字母順序開啟文件。如何取得要按修改日期開啟的文件,例如您可以使用命令看到的文件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。