Skip to content

MrSiir/rust-minigrep

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Minigrep

Minigrep es una implementación sencilla de una herramienta de búsqueda en archivos, es un programa de ejemplo del capitulo 12 del libro The Rust Programming Language (https://doc.rust-lang.org/book/ch12-00-an-io-project.html) titulado An I/O Project: Building a Command Line Program.

Requisitos

  • Rust instalado en tu sistema.

Instalación

Clona este repositorio y compila el proyecto:

git clone https://github.com/MrSiir/rust-minigrep
cd minigrep
cargo build

Uso

Ejecuta el programa pasando los argumentos en el siguiente formato:

cargo run -- <QUERY> <FILE_PATH>

Donde:

  • <QUERY> es la cadena que deseas buscar.
  • <FILE_PATH> es la ruta del archivo donde deseas buscar.

Ejemplo

Supongamos que tienes un archivo llamado example.txt con el siguiente contenido:

Rust es un lenguaje de programación rápido.
Amo trabajar con Rust.
Escribir software en Rust es divertido.

Para buscar la palabra "Rust", ejecuta:

cargo run -- Rust example.txt

El programa devolverá:

Rust es un lenguaje de programación rápido.
Amo trabajar con Rust.
Escribir software en Rust es divertido.

Ignorar mayúsculas/minúsculas

Para realizar una búsqueda insensible a mayúsculas, establece la variable de entorno IGNORE_CASE antes de ejecutar el programa:

IGNORE_CASE=1 cargo run -- rust example.txt

Esto devolverá las mismas líneas que en el ejemplo anterior.

Estructura del proyecto

  • main.rs: Punto de entrada principal del programa.
  • lib.rs: Contiene la lógica principal, incluyendo:
    • Construcción de la configuración (Config).
    • Función run para ejecutar el programa.
    • Funciones search y search_case_insensitive para realizar las búsquedas.

Pruebas

Para ejecutar las pruebas, utiliza el siguiente comando:

cargo test

Esto verificará que las funciones search y search_case_insensitive funcionan correctamente.

Licencia

Este proyecto está licenciado bajo MIT License.

Este fichero ha sido generado por ChatGPT.

About

Rust Minigrep

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages