プログラムによって開かれたファイルの順序

プログラムによって開かれたファイルの順序

通常、glob 文字を使用してディレクトリまたはサブセット内のすべてのファイルを開くだけで一連のファイルを開くと、通常は、常にではないにしても、デフォルトでファイルはアルファベット順に開かれます。コマンドで確認できるように、たとえば変更日でファイルを開くにはどうすればよいですかls -lt?

答え1

グロブはシェルによってアルファベット順に展開されます。見るlsその順序で使用しないでください。lsは引数のリストもソートします (ただし、-Uそのソートをスキップする GNU 実装のオプションを参照してください)。

異なるソート順で glob を展開できる唯一のシェルは、(逆の場合は) glob 修飾子 (および数値順序付けの場合は)zshを使用するシェルです。oOn

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

関連情報