Findstr: ejemplos y consejos para usar esta práctica herramienta CMD de Windows

Para los no iniciados, una herramienta de búsqueda de patrones como findstr puede parecer inútil. Pero cuando se trata de archivos de registro generados por el sistema o salidas de línea de comandos que contienen cientos de líneas de texto, findstr es justo la herramienta que necesita.

Los usuarios de un sistema operativo Linux ya estarían familiarizados con la increíble utilidad del comando Grep , y findstr cumple una función similar en Microsoft Windows . Puede combinarlo con otros comandos(other commands) mediante canalizaciones o simplemente ejecutarlo directamente para analizar varios archivos de texto. Veamos cómo funciona findstr con algunos ejemplos.

Uso del comando Findstr

La sintaxis básica es simple: findstr , dóndees el patrón a buscar, yes la dirección del archivo en el que buscar. Abra el símbolo del sistema(Command Prompt) y pruébelo.

findstr SFC ejemplo1.txt(findstr SFC example1.txt )

Este comando encontrará y generará todas las líneas que contengan la cadena de búsqueda SFC . Tenga en cuenta que, de forma predeterminada, findstr distingue entre mayúsculas y minúsculas, por lo que no se compararán las menciones de SFC .

Parámetros

Puede personalizar aún más cómo funciona findstr al incluir parámetros opcionales. Interruptores como /B o /I modifican el comportamiento de findstr, imponiendo condiciones adicionales en la búsqueda. Por ejemplo:

findstr /I SFC example1.txt

Incluir /I como parámetro hace que la búsqueda no distinga entre mayúsculas y minúsculas, lo que permite que coincidan todas las menciones del término, independientemente de su uso de mayúsculas. Puede encontrar la lista de todos los parámetros de findstr en los documentos oficiales de Microsoft(official Microsoft docs) .

Patrones opcionales

Los parámetros no son la única forma de personalizar findstr. Encerrar la <cadena> entre comillas, por ejemplo, le permite especificar múltiples patrones, brindándole una coincidencia si se encuentra alguna de las cadenas de texto.

findstr “SFC DISM” ejemplo1.txt(findstr “SFC DISM” example1.txt )

Lo anterior devolverá líneas coincidentes que contengan cualquiera de los términos. Esto lo hace útil cuando se busca una mención para un elemento con diferentes nombres.

Expresiones regulares

Findstr es capaz de buscar a través de múltiples archivos. Cambiandoa una expresión regular hace que el comando busque el patrón especificado en todos los archivos que coincidan.

findstr SFC *.txt

El uso del carácter comodín hace coincidir la expresión regular con todos los archivos de texto en el directorio actual y sus subdirectorios. Los resultados también están separados por nombre de archivo, lo que le permite ver qué línea se originó en qué archivo.

Tubería

Como la mayoría de los comandos cmd, findstr también se puede usar en la salida de otros comandos. Simplemente(Just) agregue una tubería después del final del comando de destino e invoque findstr sin un.

dir | findstr .txt

Esto ejecuta una búsqueda de findstr en la salida del comando dir, devolviendo la lista de archivos que termina con .txt . Por supuesto, este ejemplo en particular es inútil en la práctica ya que dir ya puede localizar archivos del mismo tipo con una expresión regular.

También se puede tomar la ruta más larga de redirigir la salida a un archivo de texto(redirecting the output to a text file) y luego usar findstr en el archivo de texto, pero es más fácil eliminar al intermediario.

Aplicaciones de Findstr en Windows

Los usos obvios de findstr son fácilmente evidentes solo a partir de la sintaxis. Puede buscar archivos de texto con una cadena de texto específica o ver si un archivo contiene una cadena en particular.

Esto, aunque teóricamente útil, rara vez se usa fuera de casos raros. En la era de los servicios en la nube como Google Docs , la mayoría de las personas ya no tienen muchos archivos de texto.

Las aplicaciones reales de findstr son un poco más sutiles e implican resultados más potentes. Estos son algunos de los ejemplos más interesantes.

Encontrar tipos específicos de archivos

El comando dir ya incluye la opción de buscar nombres de archivos usando expresiones regulares. Pero con findstr, puede buscar archivos que compartan otros atributos, como la hora o la fecha de creación.

Suponga(Suppose) que se produjo un error a las 06:43 p. m. y desea ubicar todos los archivos de registro creados en ese momento. Solo con el comando dir, tendrá que filtrar manualmente los resultados u obtener todos los archivos de registro y compararlos. Usando findstr, esto se convierte en un comando simple.

dir | findstr 06:43

Puede probar el mismo truco para buscar archivos creados en una fecha determinada u obtener una lista de directorios.

dir | findstr DIR

Filtrado de información de red(Network Information) con Netstat

Netstat es un comando práctico de Windows que le brinda toda la información sobre las conexiones de red de su computadora: demasiada información, que es donde entra en juego findstr.

Conectar la salida de netstat a findstr le permite buscar conexiones con propiedades específicas. Por ejemplo, así es como puede obtener una lista de todas las conexiones establecidas.

netstat | findstr ESTABLISHED

Este truco es útil cuando se diagnostican problemas de red. Incluso puede usar findstr con un PID de aplicación para encontrar todas las conexiones abiertas por un proceso en particular.

netstat -o | findstr 13120

Obtención de direcciones IP específicas

El comando ipconfig le permite ver los detalles de todas las interfaces de red de los sistemas, incluidas las direcciones IP. Puede usar findstr para extraer un tipo particular de dirección IP sin tener que desplazarse por todo el contenido.

ipconfig | findstr Temporary

Puede extender este método para obtener cualquier información de ipconfig, desde las máscaras de subred hasta las direcciones de la puerta de enlace.

Análisis de archivos de secuencias de comandos

Cualquiera que sea el lenguaje de programación en el que codifique, los archivos de script son, en última instancia, solo texto. Esto significa que puede usar findstr para analizar scripts y recuperar secciones específicas sin revisar todo el código.

Digamos(Say) que queremos ver cómo se ha utilizado la declaración if en un script en particular. Podemos usar el siguiente comando:

findstr si script.ahk(findstr if script.ahk )

Esto no solo mostrará las líneas que usan la instrucción if, sino que también nos mostrará las expresiones utilizadas. También puede incluir el parámetro /N para mostrar los números de línea, lo cual es muy útil para los archivos de script.

findstr /N if script.ahk

¿Vale la pena usar Findstr?

La principal dificultad para navegar por la interfaz de la línea de comandos es la cantidad de texto que se necesita filtrar. Findstr es una herramienta esencial para extraer información útil y filtrar basura.

Dado que todos los comandos de terminal brindan una salida basada en texto, findstr siempre se puede usar para ubicar los datos relevantes. Desde la resolución de problemas de red(troubleshooting network issues) hasta la búsqueda de los archivos correctos, cada acción se hace más eficiente con findstr.

Incluso fuera de su sinergia con otros comandos, findstr es útil por su capacidad para recorrer el contenido de los archivos de texto. Puede encontrar errores específicos en archivos de registro generados por máquinas o recuperar secciones de código en un script complejo.

En resumen, findstr es una herramienta indispensable en el arsenal de cualquier usuario avanzado de Windows , especialmente si tiene la intención de familiarizarse con la interfaz de línea de comandos.



About the author

Soy ingeniero de software con más de 10 años de experiencia en el campo de la ingeniería de Windows. Me especializo en el desarrollo de aplicaciones basadas en Windows, así como en hardware y controladores de sonido para el sistema operativo Windows de próxima generación de Microsoft, Windows 11. Mi experiencia en la creación de aplicaciones de Windows me convierte en un activo especialmente valioso para cualquier empresa que busque desarrollar productos tecnológicos innovadores.



Related posts