Case-insensitive Glob on zsh/bash

bash, glob, linux, zsh

Solution

ZSH:

$ unsetopt CASE_GLOB

Or, if you don't want to enable case-insensitive globbing in general, you can activate it for only the varying part:

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

This will match any file that starts with "somelongstring" (in any combination of lower/upper case). The case-insensitive flag applies for everything between the parentheses and can be used multiple times. Read the manual `zshexpn(1)` for more information.

UPDATE Almost forgot, you have to enable extendend globbing for this to work:

setopt extendedglob

Problem

I need to list all files whose names start with 'SomeLongString'. But the case of 'SomeLongString' can vary. How? I am using zsh, but a bash solution is also welcome.

Original source