私は巨大なディレクトリ階層で "WSFY321.c"ファイルを探しています。
通常私GNUを探す:find . -name "WSFY321.c"
しかし大文字と小文字はわかりません。大文字でも、小文字でも、2 つが混在している場合もあります。
このファイルを見つける最も簡単な方法は何ですか?
それより良いものがありますかfind . | grep -i "WSFY321.c"
?
答え1
最新バージョンのGNUには、大文字と小文字を区別しない名前検索のためのフラグがfind
あります。-iname
find . -iname "WSFY321.c"
答え2
この機能で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
答え3
macOS用の2つのソリューション:
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')"