列出以 sh、sr、se、th、tr 或 te 开头的所有文件

列出以 sh、sr、se、th、tr 或 te 开头的所有文件

如何列出以、 、 、 或sh序列sr开头seth所有文件(字母可以是大写或小写)。trte

答案1

假设你的意思是姓名文件的而不是他们的内容应该以任何这些字符串开头,您可以让您的 shell 生成文件名并将列表传递给printf '%s\n'ls -ld例如:

ls -ld [sStT][hHrReE]*

[...]是大多数 shell(除了 )都支持的 shell 全局运算符fish,可匹配任何单身的字符(或可能整理元素在某些情况下)在指定的集合中。因此,它非常适合这组特定的字符串。但对于任意字符串集,您需要切换到具有更高级的通配符(如 zsh)的 shell:

set -o extendedglob # needed for (#i) to set case insensitivity
ls -ld (#i)(foo|bar|[st][hre])*

相关内容