Bash で tree コマンドを入れずに tree 風表示

以前、Windows コマンドプロンプト以外の環境でも、コマンドをインストールすれば tree コマンドが使える、という記事を書いた。

しかし、しがないニホンノエスイーの皆さんの中には、インターネットに接続できない職場環境の人もいるだろう。そんな人のために、tree コマンドを使わず、組み込みのコマンドだけで tree 風の表示をするワンライナーを紹介する。

Bash では find でファイルリストを出力できるが、コレを sed で整形すると、tree っぽい表示にできる。

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

これなら外部コマンドのインストールは不要だ。