tree
é um prático programa de terminal que exibe o conteúdo em um diretório em formato de árvore. Mas, na maioria das vezes, não estamos interessados em todos os arquivos de um diretório. Arquivos de construção e salvamentos automáticos do editor de texto podem facilmente bagunçar a saída da árvore a ponto de torná-la quase inutilizável.
Felizmente, a árvore fornece o -I
sinalizador para ignorar os arquivos que correspondem a um determinado padrão e podemos usar os padrões em .gitignore para ajudar a árvore a fornecer resultados razoáveis.
Coloque o seguinte em um arquivo executável em seu caminho (ou seja, ~ / bin / itree) para fazer um novo comando para fazer exatamente isso
#!/bin/sh
tree --prune -I $(cat .gitignore ~/.gitignore | egrep -v "^#.*$|^[[:space:]]*$" | tr "\n" "|")
Alguma explicação do que está acontecendo aqui:
cat .gitignore ~/.gitignore
cola o .gitigore neste diretório e aquele no diretório inicial do usuário atual.egrep -v "^#.*$|^[[:space:]]*$"
remove linhas e comentários do banco.tr "\n" "|"
substitui novas linhas por tubos.
O efeito combinado está dizendo à árvore para ignorar a lógica ou de cada padrão em ambos os arquivos .gitignore.