前置き
日頃からUnix系OSに親しんでいる人ならば既知だと思うがご存知でない人もいると思われるので投稿する。
Linux、WSL、macのCLI初心者でファイル検索に困っている人の役に立てば幸いである。
本題
ディレクトリ5階層分までの範囲でファイル名hogehoge
を検索したい場合は以下の通り。
$ find . -maxdepth 5 | grep hogehoge
-maxdepth
の後に検索したい範囲のディレクトリの深さを指定すればよい。
-maxdepth
の説明をman日本語版より抜粋。
-maxdepth levels
コマンドライン引き数として指定したパスから最大 levels 段階下の ディレクトリまで探索する (levels は非負の整数)。 -maxdepth 0 は、判別式やアクションの対象にするのは、 コマンドライン引き数だけであることを意味する。
さらにファイル名が大文字か小文字があいまいな場合はgrep
コマンドに-i
オプションを付ければよい。
例を示すと以下の通りになる。
$ find . -maxdepth 5 | grep -i hogehoge