Use árvore com gitignore

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 -Isinalizador 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.