スポンサーリンク

findのmindepthとmaxdepthで階層を指定して検索

※MACターミナル(BSD系)での動作確認です。

findのmindepthとmaxdepthで階層を指定して検索できます。

例えば、下記のディレクトリとファイルがあったとします。

$ tree
.
├── dir001
│   └── dir
│       ├── dir
│       │   └── file4.c
│       └── file3.c
├── dir002
│   ├── dir
│   │   └── file3.c
│   └── file2txt
└── file1.c

5 directories, 5 files

mindepthとmaxdepthのオプションがなしだと、最上位のディレクトリから最下位まで検索をかけます。

$ find . -type f -name "file*"
./dir001/dir/dir/file4.c
./dir001/dir/file3.c
./dir002/dir/file3.c
./dir002/file2txt
./file1.c

mindepthオプションで第2階層以降を検索します。

$ find . -type f -name "file*" -mindepth 2
./dir001/dir/dir/file4.c
./dir001/dir/file3.c
./dir002/dir/file3.c
./dir002/file2txt

maxdepthオプションで第3階層までを検索します。
$ find . -type f -name "file*" -maxdepth 3
./dir001/dir/file3.c
./dir002/dir/file3.c
./dir002/file2txt
./file1.c

mindepthとmaxdepthオプションで、第2階層から第3階層までを検索します。
$ find . -type f -name "file*" -mindepth 2  -maxdepth 3
./dir001/dir/file3.c
./dir002/dir/file3.c
./dir002/file2txt

スポンサーリンク