Find command: how to ignore case?
Recent versions of GNU find
have an -iname
flag, for case-insensitive name searches.
find . -iname "WSFY321.c"
With GNU find, or other versions of find that have it:
find . -iname 'WSFY321.c'
With other versions:
find . -name '[Ww][Ss][Ff][Yy]321.[Cc]'
Or a compromise that's slower but easier to type:
find . -name '????321.c' | grep -i '/WSFY[^/]*$'
Or in zsh:
print -rl -- **/(#i)WSFY321.c
Two solutions for macOS:
Using GNU find
:
brew install findutils --with-default-names
# restart Terminal
find . -iname 'WSFY321.c'
Using GNU sed
:
brew install gnu-sed --default-names
# restart Terminal
find -name "$(sed 's|\([[:alpha:]]\)|[\U\1\L\1]|g' <<<'WSFY321.c')"