treeコマンドで特定のファイルとその格納ディレクトリのみ表示する
やりたいこと
↓特定のファイルが入っているディレクトリ階層をtreeでビジュアライズする方法
tree -P <wild card pattern> --prune
cmake勉強中です。cmakeでは複数のディレクトリ間にまたがったCMakeLists.txtファイルが互いに影響しあって?ソースをビルドしてくれますが、巨大なOSS Projectだと沢山のサブディレクトリにCMakeLists.txtファイルがあるのでtreeコマンドををつかってビジュアライズしてみました。
tree -P CMakeLists.txt --prune
├── CMakeLists.txt
├── dependencies
│ ├── cereal
│ │ ├── CMakeLists.txt
│ │ ├── doc
│ │ │ └── CMakeLists.txt
│ │ ├── sandbox
│ │ │ ├── CMakeLists.txt
│ │ │ └── sandbox_shared_lib
│ │ │ └── CMakeLists.txt
│ │ └── unittests
│ │ └── CMakeLists.txt
│ ├── glfw
│ │ ├── CMakeLists.txt
│ │ ├── docs
│ │ │ └── CMakeLists.txt
│ │ ├── examples
│ │ │ └── CMakeLists.txt
│ │ ├── src
│ │ │ └── CMakeLists.txt
│ │ └── tests
│ │ └── CMakeLists.txt
│ └── osi_clp
│ ├── CMakeLists.txt
│ ├── Clp
│ │ ├── CMakeLists.txt
│ │ ├── examples
│ │ │ └── CMakeLists.txt
│ │ ├── src
│ │ │ ├── CMakeLists.txt
│ │ │ └── OsiClp
│ │ │ └── CMakeLists.txt
│ │ └── test
│ │ └── CMakeLists.txt
│ ├── CoinUtils
│ │ ├── CMakeLists.txt
│ │ └── src
│ │ └── CMakeLists.txt
│ └── Osi
│ ├── CMakeLists.txt
│ └── src
│ ├── CMakeLists.txt
│ ├── Osi
│ │ └── CMakeLists.txt
│ ├── OsiCommonTest
│ │ └── CMakeLists.txt
│ └── OsiMsk
│ └── CMakeLists.txt
├── nonFree
│ ├── CMakeLists.txt
│ └── sift
│ └── CMakeLists.txt
├── openMVG
│ ├── CMakeLists.txt
│ ├── cameras
│ │ └── CMakeLists.txt
│ ├── color_harmonization
│ │ └── CMakeLists.txt
│ ├── exif
│ │ ├── CMakeLists.txt
│ │ └── sensor_width_database
│ │ └── CMakeLists.txt
│ ├── features
│ │ ├── CMakeLists.txt
│ │ ├── akaze
│ │ │ └── CMakeLists.txt
│ │ ├── mser
│ │ │ └── CMakeLists.txt
│ │ ├── sift
│ │ │ └── CMakeLists.txt
・・・中略
├── jpeg
│ └── CMakeLists.txt
├── lemon
│ ├── CMakeLists.txt
│ └── lemon
│ └── CMakeLists.txt
├── png
│ └── CMakeLists.txt
├── stlplus3
│ ├── CMakeLists.txt
│ └── filesystemSimplified
│ └── CMakeLists.txt
├── tiff
│ └── CMakeLists.txt
├── tiff_org
│ └── CMakeLists.txt
├── vectorGraphics
│ └── CMakeLists.txt
└── zlib
└── CMakeLists.txt
沢山ありますね。まぁ必要なのを一つ一つ読んでって理解していきます...