https://github.com/donatocardoso/busca-cli
Ferramenta responsável por ler o conteúdo de arquivos e filtrá-los de acordo com um texto informado
https://github.com/donatocardoso/busca-cli
arquivo busca file folder node pasta pesquisa search
Last synced: about 2 months ago
JSON representation
Ferramenta responsável por ler o conteúdo de arquivos e filtrá-los de acordo com um texto informado
- Host: GitHub
- URL: https://github.com/donatocardoso/busca-cli
- Owner: donatocardoso
- License: mit
- Created: 2021-05-03T22:28:11.000Z (about 4 years ago)
- Default Branch: master
- Last Pushed: 2021-06-22T19:46:08.000Z (almost 4 years ago)
- Last Synced: 2025-04-14T02:35:53.794Z (about 2 months ago)
- Topics: arquivo, busca, file, folder, node, pasta, pesquisa, search
- Language: JavaScript
- Homepage:
- Size: 2.47 MB
- Stars: 3
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# ✅ busca-cli
> Escrito em [node](http://nodejs.org), é uma ferramenta muito simples para realizar buscas em pastas e arquivos a partir do terminal, utilizando padrão **E/AND** para filtrar os arquivos, independende da ordem das palavras ou se estão em sequencia, podendo personalizar os o filtro conforme opções disponiveis em cada comando. [Veja como usar cada comando!](#comandos)
Uma pequena experiência de aprendizagem js e node (e apenas se divertindo).
[](https://www.npmjs.com/package/@donatocardoso/busca-cli)
[](https://www.npmjs.com/package/@donatocardoso/busca-cli)
[](LICENSE)
[](https://github.com/donatocardoso/busca-cli/issues)
[](https://github.com/donatocardoso/busca-cli/network/members)
[](https://github.com/donatocardoso/busca-cli/stargazers)
[](https://badges.pufler.dev)


## 🔹 Pré Requisitos
1. node
1. npm---
## 🔹 Instalação
```bash
$ npm install -g @donatocardoso/busca-cli
```Ou
```bash
$ yarn global add @donatocardoso/busca-cli
```Outra alternativa, você pode baixar este repositório e instalar a partir da fonte:
```bash
$ git clone https://github.com/donatocardoso/busca-cli.git
$ cd busca-cli
$ npm install
$ npm link
```---
## 🔹 Uso
Para utilizar a ferramenta use da opção **"-a"** ou **"--ajuda"** para obter ajuda:
```bash
$ npx @donatocardoso/busca-cli --ajuda
```Saída:
```bash
Usage: busca-cli [comando]Options:
-v, --versao Exibi a versão atual
-a, --ajuda Exibi ajuda para usar o comandoCommands:
arquivo [options] Verifica se o(s) arquivo(s) possue(em) o texto informado
carregar [options] Carrega em memória os arquivos do diretório informado
pasta [options] Busca arquivos no diretório desejado que possuem o texto informado
```---
## Comandos
Para os próximos exemplos vamos considerar os seguintes arquivos:
```text
nome: ./pasta01/arquivo01.txtconteúdo: night catches us 2010 anthony mackie kerry washington wendell pierce tanya hamilton tanya hamilton
``````text
nome: ./pasta02/arquivo02.txtconteúdo: Night catches us 2010 anthony mackie kerry washington Wendell pierce tanya hamilton tanya Hamilton
```Exemplos de uso dos comandos:
1. **_busca-cli arquivo_**
- Realiza uma busca com uma sentença chave nos arquivos informados, veja a estrutura do comando:
- O parametro **_texto_** é obrigatório e deve ser informado com o uso de aspas simples ou duplas.
- A opção **_caminhos_** é obrigatório e deve ser informada com um ou mais valores.```bash
$ npx @donatocardoso/busca-cli arquivo [opcoes] -c [caminhos...]
```- As opções do comando são:
```bash
-c, --caminhos [caminhos...] Arquivo(s) em que a verificação será realizada
-d, --detalhes Retorna detalhes do(s) arquivo(s)
-e, --exato Busca pela sentença exata informada
-s, --sensivel Diferencia maiúscula de minúscula
-a, --ajuda Exibi ajuda para usar o comando
```- Exemplos de chamada:
```bash
$ npx @donatocardoso/busca-cli arquivo "night wendell hamilton" -c ./pasta01/arquivo01.txt ./pasta02/arquivo02.txt
$ npx @donatocardoso/busca-cli arquivo -des "night wendell hamilton" -c ./pasta01/arquivo01.txt ./pasta02/arquivo02.txt
$ npx @donatocardoso/busca-cli arquivo -d -e -s "night wendell hamilton" -c ./pasta01/arquivo01.txt ./pasta02/arquivo02.txt
```2. **_busca-cli pasta_**
- Realiza uma busca com uma sentença chave nas pastas informadas, veja a estrutura do comando:
- O parametro **_texto_** é obrigatório e deve ser informado com o uso de aspas simples ou duplas.
- A opção **_caminhos_** é obrigatório e deve ser informada com um ou mais valores.```bash
$ npx @donatocardoso/busca-cli pasta [opcoes] -c [caminhos...]
```- As opções do comando são:
```bash
-c, --caminhos [caminhos...] Diretório(s) em que a verificação será realizada
-d, --detalhes Retorna detalhes dos arquivos encontrados
-e, --exato Busca pela sentença exata informada
-r, --recursivo Busca na pasta e sub-pastas do caminho informado
-s, --sensivel Diferencia maiúscula de minúscula
-a, --ajuda Exibi ajuda para usar o comando
```- Exemplos de chamada:
```bash
$ npx @donatocardoso/busca-cli pasta "night wendell hamilton" -c ./pasta01 ./pasta02
$ npx @donatocardoso/busca-cli pasta -ders "night wendell hamilton" -c ./pasta01 ./pasta02
$ npx @donatocardoso/busca-cli pasta -d -e -r -s "night wendell hamilton" -c ./pasta01 ./pasta02
```3. **_busca-cli carregar_**
- Carrega as pastas e/ou arquivos informados em memória e em seguida faz solicitação de uma entrada com uma sentença chave para realizar a busca, veja a estrutura do comando:
- A opção **_caminhos_** é obrigatório e deve ser informada com um ou mais valores.
```bash
$ npx @donatocardoso/busca-cli carregar [opcoes] -c [caminhos...]
```- As opções do comando são:
```bash
-c, --caminhos [caminhos...] Arquivo(s) em que a verificação será realizada
-d, --detalhes Retorna detalhes dos arquivos encontrados
-e, --exato Busca pela sentença exata informada
-r, --recursivo Busca na pasta e sub-pastas do caminho informado
-s, --sensivel Diferencia maiúscula de minúscula
-a, --ajuda Exibi ajuda para usar o comando
```- Exemplos de chamada:
```bash
$ npx @donatocardoso/busca-cli carregar "night wendell hamilton" -c ./pasta01 ./pasta02/arquivo02.txt
$ npx @donatocardoso/busca-cli carregar -ders "night wendell hamilton" -c ./pasta01 ./pasta02/arquivo02.txt
$ npx @donatocardoso/busca-cli carregar -d -e -r -s "night wendell hamilton" -c ./pasta01 ./pasta02/arquivo02.txt
```---
## Testes
Os Testes Unitários são bem simples de ser executados, o arquivo **"jest.setup.js"** já realiza as configurações básicas para essa situação, sendo necessário executar somente um dos seguintes comandos, escolha um conforme sua necessidade:
```bash
$ npm test // executa os testes
$ npm test:coverage // executa os testes e exibi a cobertura dos testes
```Ou
```bash
$ yarn test // executa os testes
$ yarn test:coverage // executa os testes e exibi a cobertura dos testes
```Caso ainda queira realizar testes com uma amostragem maior há um **"./example/movies.zip"** com vários arquivos preparados, faça a descompactação dos arquivos e informe-os conforme é solicitado nos comandos, exemplo:
```bash
$ npx @donatocardoso/busca-cli pasta -ers ./example/movies
```---
## Licença
[MIT](LICENSE)