🌲

【linux】treeコマンドが無いときに,ディレクトリ構造を表示

に公開

treeコマンドでディレクトリ構造を表示したい

Linuxにおいて,ディレクトリ構造を表示したいとき,treeコマンドはとても便利です.
しかし,Linuxの標準コマンドではないため,root権限のないサーバーや,treeをインストールできない環境だとディレクトリ構造をツリー形式で表示することが出来ません.
そこで,findとsedを使ってtreeの代替コマンドを作成しました.

代替treeコマンド(findとsedを利用)

👇️ディレクトリのみ表示する場合

pwd; find . -type d | sort | sed '1d;s/^\.//;s/\/\([^/]*\)$/|--\1/;s/\/[^/|]*/|  /g'

👇️ファイル名まで表示する場合

pwd; find . | sort | sed '1d;s/^\.//;s/\/\([^/]*\)$/|--\1/;s/\/[^/|]*/|  /g'

テキストファイルに保存

>> path/to/output_file

コマンドの最後に上記の記述を追加することでtxtファイルに保存することができます。
👇️使用例

pwd; find .  | sort | sed '1d;s/^\.//;s/\/\([^/]*\)$/|--\1/;s/\/[^/|]*/|  /g' >> tree.txt

Discussion