Не могли бы вы дать мне пример использования команды дерева для фильтрации результатов следующим образом:
- игнорировать каталоги (скажем
bin
,unitTest
) - только перечисляя определенные файлы , имеющие расширения (например
.cpp
,.c
,.hpp
,.h
) - предоставляя полные пути только для результирующих файлов, соответствующих критериям.
tree
command-switch
Линда
источник
источник
-I bin
, нет-I bin/
.sed: illegal option -- I
используйте
find
иtree
команду, которая использует find,prune
чтобы исключить каталоги поиска и использоватьtree -P
для поиска шаблона.Используйте переключатель prune, например, если вы хотите исключить
misc
каталог, просто добавьте a-path ./misc -prune -o
в команду find.например,
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 {} \;
Истинным решением является вывод полных путей, фильтрация нежелательных путей и, наконец, исправление выходных данных.
Если все файлы необходимы в выводе, удалите параметр «d».
Подробное объяснение можно найти по адресу: http://qaon.net/press/archives/572, если вы понимаете японский.
источник