回答:
1つの方法は、-Iと-Pスイッチでパターンを使用することです:
tree -f -I "bin|unitTest" -P "*.[ch]|*.[ch]pp." your_dir/
は-f、各ファイルの完全なパスを出力-Iし、垂直バーで区切られたパターン内のファイルを除外します。-Pスイッチinlcudes特定の拡張子をパターンマッチングに記載されているファイルのみ。
sed: illegal option -- I
                    使用findとtree使用の発見者であるコマンドをprune検索し、使用のディレクトリを除外するためのtree -Pパターンを検索します。
たとえば、miscディレクトリを除外する場合は-path ./misc -prune -o、findコマンドにa を追加するだけで、pruneスイッチを使用します。
例えば find . -path ./misc -prune -o -exec tree -P <pattern> {} \;または使用できます-name "*.cpp" in find
複数のディレクトリの使用を除外するため
find . -type d \( -path dir1 -o -path dir2 -o -path dir3 \) -prune -o
find . -type d \( -path dir1 -o -path dir2 -o -path dir3 \) -prune -oかfind . -path ./misc -prune -o -exec tree -P *.cpp {} \;
                    真の解決策は、完全なパスを出力し、不要なパスを除外し、最終的に出力を修正することです。
tree -df | egrep -v "\./(bin|unitTest)/.*" | sed -r 's%\./.*/%%g'
出力ですべてのファイルが必要な場合は、「d」パラメーターを削除します。
詳細については、http://qaon.net/press/archives/572をご覧ください。日本語が理解できる場合。
-I binnot)-I bin/。