linux - 如何使用 `ls` 在 linux shell 中列出文件,因为它们在相应的文件夹中列出

标签 linux bash shell

我有一个问题。当我在 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

最佳答案

使用排序实用程序,用户还可以选择指定用于排序的起始列。所以这个命令:

ls | sort -k 1.5n

将使用 1st 列和从 5th 字段开始排序。假设您的文件都以单词 file 开头,这应该使用该单词后面的数字按自然顺序排序

输出:

file01.txt
file11.txt
file16.txt
file116.txt
file167.txt

对于你的新案例(妖精的尾部 - # [720p].mkv...),试试这个命令:

ls | sort -k4n

关于linux - 如何使用 `ls` 在 linux shell 中列出文件,因为它们在相应的文件夹中列出,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21048430/

相关文章:

linux - 根据键对文件进行排序并按数据中心分组

linux - Unix - 只列出包含子目录的目录

Java 命令行错误 (linux) - 无法找到或加载主类

linux - 强制 GCC 静态链接,例如pthreads(而不是动态链接)

c - 如何从终端分离程序并将其附加回去?

regex - 让 sed 对变量而不是标准输入或文件进行操作

linux - 使用 SED 从文本文件中的值生成特定格式(逐行)

python - subprocess.call() 的返回值是多少?

python - 使用 Python Paramiko 通过 SSH 将输入/变量传递给命令/脚本

linux - 如何安全地将主机列表添加到 known_hosts 文件