我需要列出名称以'SomeLongString'开头的所有文件.但'SomeLongString'的情况可能会有所不同.怎么样?
我正在使用zsh,但也欢迎使用bash解决方案.
庆典:
shopt -s nocaseglob
ZSH:
$ unsetopt CASE_GLOB
或者,如果您不想一般地启用不区分大小写的通配符,则可以仅为不同的部分激活它:
$ print -l (#i)(somelongstring)*
这将匹配任何以"somelongstring"开头的文件(以大写/小写的任意组合).不区分大小写的标志适用于括号之间的所有内容,并且可以多次使用.阅读手册zshexpn(1)
以获取更多信息.
更新 几乎忘了,你必须启用extendend globbing才能工作:
setopt extendedglob
根据您希望拥有此列表的深度,find
在这方面提供了很多:
find . -iname 'SomeLongString*' -maxdepth 1
这只会为您提供当前目录中的文件.这里重要的是-iname
参数而不是-name
.