ZSH:
$ unsetopt CASE_GLOB
Nebo, pokud nechcete povolit globování bez rozlišení velkých a malých písmen obecně, můžete jej aktivovat pouze pro různé části:
$ print -l (#i)(somelongstring)*
To bude odpovídat všem souborům, které začínají "somelongstring" (v jakékoli kombinaci malých a velkých písmen). Příznak bez rozlišení malých a velkých písmen platí pro vše v závorkách a lze jej použít vícekrát. Přečtěte si příručku zshexpn(1)
pro více informací.
AKTUALIZACE Skoro jsem zapomněl, že aby to fungovalo, musíte povolit extendend globbing:
setopt extendedglob
V závislosti na tom, jak hluboko chcete mít tento zápis, find
nabízí v tomto ohledu docela hodně:
find . -iname 'SomeLongString*' -maxdepth 1
Tím získáte pouze soubory v aktuálním adresáři. Důležité je zde -iname
parametr namísto -name
.
bash:
shopt -s nocaseglob
$ function i () {
> shopt -s nocaseglob; $*; shopt -u nocaseglob
> }
$ ls *jtweet*
ls: cannot access *jtweet*: No such file or directory
$ i ls *jtweet*
JTweet.pm JTweet.pm~ JTweet2.pm JTweet2.pm~