Contabilizando Linhas e Palavras de um Projeto com Shell Script

Publicado por Fábio Berbert de Paula em 25/04/2023

[ Hits: 1.585 ]

Blog: https://fabio.automatizando.dev

 


Contabilizando Linhas e Palavras de um Projeto com Shell Script



O Project Stats é uma ferramenta simples e eficiente para contabilizar a quantidade de linhas e palavras em projetos de software. O script é escrito em Bash e pode ser facilmente adaptado e configurado para diferentes tipos de projetos e linguagens de programação.

Utilidade do Project Stats

Em projetos de software, é comum que desenvolvedores e gestores desejem medir a quantidade de código-fonte produzido, seja para fins de análise de produtividade, estimativa de tamanho de projeto ou simplesmente para fins de curiosidade. Neste contexto, o script Project Stats se apresenta como uma solução simples e eficiente para este tipo de análise.

Como funciona o Project Stats

O script busca por arquivos com extensões específicas, definidas pelo usuário, e realiza a contagem de linhas e palavras, desconsiderando diretórios que devem ser ignorados, também definidos pelo usuário. É possível configurar o diretório raiz do projeto, as extensões de arquivos a serem buscadas e os diretórios a serem ignorados, de acordo com as necessidades do usuário.

Configurando e executando o Project Stats

Para utilizar o Project Stats, basta clonar o repositório do GitHub:

git clone git@github.com:fberbert/project-report.git

Entrar no diretório do projeto:

cd project-report

Tornar o script executável:

chmod +x project-report.sh

Configurar o script de acordo com as necessidades do usuário, alterando os valores das variáveis:

project_root="/path/to/your/project"
extensions=("*.js" "*.jsx" "*.html" "*.css")
ignore_dirs=("node_modules")

No caso acima o script está configurado para buscar arquivos com as extensões .js, .jsx, .html e .css, ignorando o diretório node_modules. Essa configuração representa um projeto em ReactJS.

Se quiser utilizar o script para um projeto em NodeJS, por exemplo, basta alterar as extensões de arquivos para .js e .jsx e ignorar o diretório node_modules.

Para um projeto em Python, por exemplo, basta alterar as extensões de arquivos para .py e ignorar o diretório venv.

Em seguida basta executar o script:

./project-report.sh

A saída será algo como:

Lines: 13734 Words: 46219

Referência

O projeto está disponível no GitHub: https://github.com/fberbert/project-report

Outras dicas deste autor

Vim - como criar arquivo ou diretório pelo NERDTree

Alltray - seus programas favoritos em sua system tray

ffmpeg - como girar vídeos no sentido horário ou anti-horário

Comando find: expressões regulares e exclusão de diretórios

Python - UnicodeDecodeError: 'utf-8' codec can't decode byte [Resolvido]

Leitura recomendada

Shell In A Box - Acessando o Shell Linux pelo Navegador Web

Repositórios YUM para Red Hat, Fedora e CentOS - Instalação via Script

Escondendo / Personalizando mensagens de erro no prompt

Compilar shell script

Ordenando strings em shell script

  

Comentários
[1] Comentário enviado por maurixnovatrento em 14/05/2023 - 22:34h


Opa. Gostei. Vou testar.

___________________________________________________________
Conhecimento não se Leva para o Túmulo.
https://github.com/mxnt10



Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts