😀
treeコマンドとかで自在にディレクトリ一覧を作る
はじめに
treeコマンドを使ってディレクトリ一覧を出したいけど
- 2階層目以降は出したくない
- .gitディレクトリやnode_modulesは除外したい
- helpコマンド見て15分経ったけど分からなかった
という状況になったので整理してみました。
前提
- Mac環境です
$ sw_vers
ProductName: Mac OS X
ProductVersion: 10.15.7
BuildVersion: 19H1217
- treeコマンドを利用します
- tree — Homebrew Formulae https://formulae.brew.sh/formula/tree
やってみたこと
-
こんなディレクトリがある
-
階層数を指定
$ tree -L 2
.
├── backup
│ ├── merged.json
│ ├── payfpqhgve6annpqwdmm73wdfa.json
│ └── payfpqhgve6annpqwdmm73wdfa.json.gz
├── backup.bash
├── node_modules
│ ├── date-format
│ ├── debug
│ ├── flatted
│ ├── fs-extra
│ ├── graceful-fs
│ ├── jsonfile
│ ├── log4js
│ ├── ms
│ ├── rfdc
│ ├── streamroller
│ └── universalify
├── package-lock.json
├── package.json
├── restore.js
├── system.log
├── table1-export-path
└── table2-export-path
- 除外するディレクトリを指定
$ tree -I 'node_modules'
.
├── backup
│ ├── merged.json
│ ├── payfpqhgve6annpqwdmm73wdfa.json
│ └── payfpqhgve6annpqwdmm73wdfa.json.gz
├── backup.bash
├── package-lock.json
├── package.json
├── restore.js
├── system.log
├── table1-export-path
└── table2-export-path
まとめ
- treeコマンドでディレクトリを階層で一覧できる
- -LオプションでMAX階層数を指定できる
- -Iオプションで除外条件を指定できる
- 例えば `-I node_modules' で 'node_modules' ディレクトリを除外できる
参考
- tree コマンドで .git/ 以外を全て表示するオプション – oki2a24 https://oki2a24.com/2019/05/28/show-all-without-dot-git-directory-using-tree-command/
- tree — Homebrew Formulae https://formulae.brew.sh/formula/tree
Discussion