답변:
GNU find 또는 다른 버전의 find를 사용하면 :
find . -iname 'WSFY321.c'
다른 버전으로 :
find . -name '[Ww][Ss][Ff][Yy]321.[Cc]'
느리지 만 타이핑하기 쉬운 타협 :
find . -name '????321.c' | grep -i '/WSFY[^/]*$'
또는 zsh에서 :
print -rl -- **/(#i)WSFY321.c
grep
버전은 대문자 만 필터링하므로 '[^ /]'.. (not /)
*
애프터 /
bash는 버전입니다. 나는 의미했다 grep -i
. 내가 사용하는 [^/]*
것이 아니라 .*
, 그 이름으로 시작 디렉토리에 파일을 잡으려고하지 않도록 WSFY
.
shopt -s extglob nocaseglob globstar; printf '%s\n' **/WSFY321.c
... 나는 그것이 그것이라고 그 이유는 가정 NOCASE 글로브를 이 단지 글로브의 맥락에서 작동 (또는 그렇게 보인다).
macOS를위한 두 가지 솔루션 :
GNU 사용 find
:
brew install findutils --with-default-names
# restart Terminal
find . -iname 'WSFY321.c'
GNU 사용 sed
:
brew install gnu-sed --default-names
# restart Terminal
find -name "$(sed 's|\([[:alpha:]]\)|[\U\1\L\1]|g' <<<'WSFY321.c')"
-type f
inode가 디렉토리 인 경우 이름을 보지 않아도 플래그로 다른 진드기를 면도 할 수 있습니다 . 그러나 그것은 수준의 최적화 수준입니다 ...