Bash真正的数字顺序

dan*_*car 20 bash

如何按照真正的数字顺序在目录中订购文件.

file1.txt
file2.txt
file11.txt
...
Run Code Online (Sandbox Code Playgroud)

我认为它被称为:自然秩序

ica*_*ver 23

使用-v选项:

ls -v file*
file1
file2
file11
file12
Run Code Online (Sandbox Code Playgroud)

另一种选择可能是使用sort -V,假设您的平台上有一个可用:

ls file* |sort -V
Run Code Online (Sandbox Code Playgroud)

  • 只有GNU'ls'; 在MacOS X上,'ls -v'选项是'强制未经编辑的非图形字符打印'. (2认同)
  • 对于mac OS 10.9,数字顺序命令现在是"sort -n",而不是-V (2认同)

Jen*_*ens 5

对于此特定文件列表,从第一个字段的第五个字符开始以数字方式排序.

$ ls file*|sort -k1.5n
file1
file2
file11
file12
Run Code Online (Sandbox Code Playgroud)