一尘不染

zsh / bash上不区分大小写的Glob

linux

我需要列出所有名称以“ SomeLongString”开头的文件。但是’SomeLongString’的情况可能有所不同。怎么样?

我正在使用zsh,但是也欢迎使用bash解决方案。


阅读 418

收藏
2020-06-07

共1个答案

一尘不染

ZSH:

$ unsetopt CASE_GLOB

或者,如果您通常不想启用不区分大小写的glob,则可以仅针对不同部分激活它:

$ print -l (#i)(somelongstring)*

这将匹配以“
somelongstring”开头的任何文件(大小写任意组合)。不区分大小写的标志适用于括号之间的所有内容,并且可以多次使用。阅读手册zshexpn(1)以获取更多信息。

UPDATE 几乎忘了,您必须启用扩展globing才能起作用:

setopt extendedglob
2020-06-07