我有问题。当我在shell中仅使用ls
命令时,我的文件列出如下(奇怪):
[HorribleSubs] Fairy Tail - 166 [720p].mkv
[HorribleSubs] Fairy Tail - 16 [720p].mkv
[HorribleSubs] Fairy Tail - 167 [720p].mkv
当我打开我的文件夹时,文件列出如下(首选):
[HorribleSubs] Fairy Tail - 16 [720p].mkv
...
...
[HorribleSubs] Fairy Tail - 166 [720p].mkv
[HorribleSubs] Fairy Tail - 167 [720p].mkv
如何使用ls
命令列出shell中的文件,与在相应的文件夹中完全相同。在文件夹中,它按“按名称”排序。
当我输入ls -v
时,列表如下:
[HorribleSubs] Fairy Tail - 11 [720p].mkv
[HorribleSubs] Fairy Tail - 12 [720p].mkv
[HorribleSubs] Fairy Tail - 13 [720p].mkv
...
...
[HorribleSubs] Fairy Tail - 175 [720p].mkv
[Horriblesubs] Fairy Tail - 01 [720p].mkv
[Horriblesubs] Fairy Tail - 02 [720p].mkv
[Horriblesubs] Fairy Tail - 03 [720p].mkv
[Horriblesubs] Fairy Tail - 04 [720p].mkv
[Horriblesubs] Fairy Tail - 05 [720p].mkv
[Horriblesubs] Fairy Tail - 06 [720p].mkv
[Horriblesubs] Fairy Tail - 07 [720p].mkv
[Horriblesubs] Fairy Tail - 08 [720p].mkv
[Horriblesubs] Fairy Tail - 09 [720p].mkv
[Horriblesubs] Fairy Tail - 10 [720p].mkv
答案 0 :(得分:1)
您可以使用ls -v
进行“自然排序”
从手册页:
-v文本中的自然类型(版本)数字
答案 1 :(得分:1)
使用sort实用程序,用户还可以选择指定要用于排序的起始列。所以这个命令:
ls | sort -k 1.5n
将使用1st
列和5th
字段的开头进行排序。假设您的文件都以单词file
开头,则应使用该单词后面的数字按自然顺序排序
输出:
file01.txt
file11.txt
file16.txt
file116.txt
file167.txt
对于你的新案例(Fairy Tail - #[720p] .mkv ...),请尝试以下命令:
ls | sort -k4n
答案 2 :(得分:0)
您总是可以将任何命令的输出传递给UNIX sort
实用程序,然后根据需要对其进行排序。例如:
% ls | sort
file16.txt
file166.txt
file167.txt