誰にも見えないブログ

雑なメモ。まとまってない文章等

treeコマンドで特定のファイルとその格納ディレクトリのみ表示する

やりたいこと

↓特定のファイルが入っているディレクトリ階層をtreeでビジュアライズする方法

tree -P <wild card pattern> --prune

cmake勉強中です。cmakeでは複数のディレクトリ間にまたがったCMakeLists.txtファイルが互いに影響しあって?ソースをビルドしてくれますが、巨大なOSS Projectだと沢山のサブディレクトリにCMakeLists.txtファイルがあるのでtreeコマンドををつかってビジュアライズしてみました。

tree -P CMakeLists.txt --prune
  • -Pで表示するファイルのワイルドカードパターンを書く
  • --pruneオプションで-pでマッチするファイルが無いディレクトリは非表示にする
├── 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

沢山ありますね。まぁ必要なのを一つ一つ読んでって理解していきます...