How to use an ignore file with tree
2018 December 26
I like using tree
to get a visual from
the command line of a project’s directory structure, but I don’t want that
visual polluted by dependencies, temporary build artifacts, etc. tree
takes
a -I
command-line option to exclude files and directories matching the given
glob pattern, or patterns if they are separated with
|
. For patterns I always want to
exclude, I can use an alias for tree
:
alias tree='tree -I node_modules|__pycache__'
This will start to grow hairy as I add more patterns. I’d really like to use
an ignore file, a la .gitignore
. With the help of
paste
, it’s easy:
alias tree='tree -I "$(paste -d\| -s ~/.treeignore)"'
Now I can list my glob patterns on separate lines in ~/.treeignore
and get
the behavior I want in a way that’s easier to maintain.