如何显示目录中名称包含数字的所有文件?

如何显示目录中名称包含数字的所有文件?

如何显示目录中名称包含数字的所有文件?我试过了

ls [0-9] textfiles

( textfiles) 是我的目录。

我的 Linux 袖珍指南就是这样显示的。我只是试图显示名称中包含数字的所有文件。我实际上尝试了在我的书和网上找到的大约 20 多种变体。

答案1

你可能想要类似的东西

ls textfiles/*[0-9]*

或者(如果“textfiles是我的目录”意味着您在目录内):

ls *[0-9]*

请注意,这些命令并不局限于常规文件。目录、符号链接、命名管道和其他条目都可能匹配。在广义的 Unix 上下文中,所有这些都是“文件”,并且这种匹配仅针对其名称进行。要区分常规文件,您需要另一个工具,例如find

我很惊讶任何指南都向您提出建议,ls [0-9] textfiles因为这在您的问题的背景下没有什么意义。

解码请*[0-9]*参阅man 7 glob或例如本文标准通配符(通配符模式)部分。值得注意的是,在上述情况下,是 shell(不是ls!)扩展了给定的模式。

答案2

find也可以使用,并且可以仅显示文件,例如在当前目录中(.):

find . -type f -name "*[0-9]*"

默认情况下它是递归的,但可以使用-maxdepth 1来避免这种情况。

相关内容