treeコマンドで特定のパスを排除する方法

treeコマンドはフォルダの構造を出力します。ドキュメント作成等の場合において便利なツールです。しかし、特定のフォルダを除きたい場合はてこずります。

treeコマンドは-P-Iのパラメータを提供しテイルのですが、これらはファイル名のパタンを認識するもので、「/」が入っている長いパスには通用しません。ここで工夫を加えます。

ステップは

  1. treeにフルパスを出力させます。
  2. grep等で除きたいパスを取り払います。
  3. パスの部分を消します。

具体的に見てみましょう。ここでスペースを節約するためにフォルダのみを取ります。

例えば、gems/doc/*のすべてを除きたい。

普通のtreeコマンドにフォルダを出力させては、下記のようなものになります。

フルパスを出力させれば:

gems/doc/*を取り除きます:

最後に、「./gems/gems/rubygems-update-2.6.6」のような前綴りを消します。これは正規表現の出番です。

これで綺麗に終わります。

Leave a Reply

Your email address will not be published. Required fields are marked *