¿Alguna vez has oído hablar de FINDSTR y Select-String ? Select-String es un cmdlet que se utiliza para buscar texto y patrones en cadenas de entrada y archivos. Es similar a grep en Linux y FINDSTR en Windows. En esta guía, vemos qué y cómo usar los comandos FINDSTR y Select-String en Windows 11/10.

Qué es FINDSTR y cómo usar FINDSTR

FINDSTR es un comando que se usa para buscar texto específico en archivos en Windows. Find String cuando se puso en corto se convirtió en FINDSTR. También se utiliza para buscar archivos con texto específico. Hay varios comandos FINDSTR para realizar diversas funciones. Se lanzó por primera vez con el Kit de recursos de Windows 2000 con el nombre qgrep . Es una herramienta incorporada en Windows y su archivo está disponible en formato.exe. FINDSTR no busca bytes nulos como espacios en el formato Unicode.

Existen algunas reglas básicas para usar el comando findtr en el símbolo del sistema u otros intérpretes de línea de comando, que son desarrollados por Microsoft . Son:

Cada comando FINDSTR debe contener una cadena seguida de un nombre de archivo. Puede utilizar caracteres literales y metacaracteres en los comandos FINDSTR. Los caracteres literales no tienen ningún significado especial en la sintaxis. Las letras y los números se denominan caracteres literales. Los metacaracteres son símbolos que tienen significados específicos para cada uno. Los siguientes son los metacaracteres aceptados en la sintaxis y sus significados.

Metacaracteres

Valor

.

Comodín : cualquier carácter

*

Repetir : cero o más ocurrencias del carácter o clase anterior.

^

Posición de la línea inicial : comienzo de la línea.

$

Posición de la línea final : final de la línea.

[clase]

Clase de carácter : cualquier carácter de un conjunto.

[^ clase]

Clase inversa : cualquier carácter que no esté en un conjunto.

[xy]

Rango : cualquiera caracteres dentro del rango especificado.

\ x

Escape : uso literal de un metacarácter.

\

Posición de la palabra inicial : comienzo de la palabra.

cadena \>

Posición de la palabra final -Fin de la palabra.

Debe crear un archivo de texto con la búsqueda c riteria en una línea separada cuando desee buscar varias cadenas. Utilice espacios entre cadenas para buscar varias cadenas en un solo comando, excepto para la sintaxis con/c.

Parámetros y su significado en la sintaxis findtr

Parámetro

Descripción

/b

Coincide con el patrón de texto si está al principio de una línea.

/e

Coincide con el patrón de texto si está al final de una línea.

/l

Procesa las cadenas de búsqueda literalmente.

/r

Procesa cadenas de búsqueda como expresiones regulares. Esta es la configuración predeterminada.

/s

Busca en el directorio actual y en todos los subdirectorios.

/i

Ignora el caso de los caracteres al buscar la cadena.

/x

Imprime líneas que coinciden exactamente.

/v

Imprime solo líneas que no contienen una coincidencia.

/n

Imprime el número de línea de cada línea que coincide.

/m

Imprime solo el nombre del archivo si un archivo contiene una coincidencia.

/o

Imprime el desplazamiento de caracteres antes de cada línea coincidente.

/p

Omite archivos con caracteres no imprimibles.

/off [line]

No omite archivos que tienen el atributo offline establecido.

/f:

Obtiene una lista de archivos del archivo especificado.

/c:

Usa el texto especificado como una cadena de búsqueda literal.

/g:

Obtiene cadenas de búsqueda del archivo especificado.

/d:

Busca en la lista especificada de directorios. Cada directorio debe estar separado con un punto y coma (;), por ejemplo dir1; dir2; dir3.

/a:

Especifica atributos de color con dos dígitos hexadecimales. Escriba color
/? para obtener información adicional.

Especifica el texto a buscar en el nombre del archivo. Obligatorio.

[\ :] [] […]

Especifica la ubicación y el archivo o archivos a buscar. Se requiere al menos un nombre de archivo.

/?

Muestra la Ayuda en el símbolo del sistema.

Uso de los comandos findtr

1] Para buscar la palabra microsoft o windows en el archivo xy, debe usar:

findtr microsoft windows xy

2] Para buscar para la palabra microsoft windows en el archivo xy, debe usar:

findtr/c:”microsoft windows”xy

En el comando anterior,/c se usa para buscar el texto especificado”Microsoft windows”en el archivo.

3] Si desea encontrar las apariciones de la palabra Microsoft con M mayúscula en el archivo de texto twc.txt, debe usar:

findtr Microsoft twc.txt

4] Si desea buscar una palabra específica Microsoft en un directorio y sus subdirectorios sin dar importancia a los tipos de mayúsculas, use:

findtr/s/i Microsoft *. *

En la sintaxis anterior,/s se usa para buscar el directorio actual y sus subdirectorios./i se utiliza para ignorar el tipo de mayúsculas y minúsculas (M mayúscula) en la cadena Microsoft.

5] Si desea buscar líneas que comienzan con A con varios espacios antes de la palabra y desea mostrar el número de línea donde las cadenas ocurrieron, use:

findtr/b/n/r/c: ^ * To *.bas

6] Si desea buscar múltiples cadenas en múltiples archivos con criterios de búsqueda en stringlist.txt y lista de archivos en filelist.txt y desea ver los resultados almacenados en el archivo result.out, use:

foundtr/g:stringlist.txt/f:filelist.txt > results.out

7] Si desea encontrar los archivos que contienen la palabra thewindowsclub en un directorio en particular y sus subdirectorios, use:

findtr/s/i/m \ *. *

8] Si desea encontrar archivos que contengan thewindowsclub y otras palabras que comiencen con la tesis similar, termómetro, etc., utilice:

findtr/s/i/m \

Estas son las formas en las que puede usar los comandos findtr en intérpretes de línea de comandos como el símbolo del sistema, etc. tienes que entender cada parámetro y su función, así como los metacaracteres y su significado para escribir la sintaxis y usar el comando findtr con regularidad.

¿Qué es Select-String y sus parámetros

Imagine está escribiendo fragmentos de código en PowerShell y perdió la pista de ciertas cadenas y texto en ese archivo de PowerShell. Necesita encontrar eso en miles de líneas de código dentro de miles de cadenas y palabras. Viene el comando Select-String que le permite buscar cadenas y texto en esos archivos de entrada de PowerShell. Es similar a grep en Linux.

Select-String es un cmdlet que se usa para buscar texto y patrones en cadenas de entrada y archivos. Es similar a grep en Linux y FINDSTR en Windows. Cuando se utiliza Select-String para buscar texto, encuentra la primera coincidencia en cada línea y muestra el nombre del archivo, el número de línea y la línea completa donde se produjo la coincidencia. Se puede usar para encontrar múltiples coincidencias por línea o para mostrar texto antes o después de la coincidencia, u obtener resultados en expresiones booleanas como Verdadero o Falso. También puede usarlo para mostrar todo el texto excepto la coincidencia de la expresión que usa en el comando. Los comodines que usa en FINDSTR también se pueden usar en Select-String. Además, Select-String trabaja con diferentes codificaciones de archivos como ASCII, Unicode, etc. Utiliza Byte-Order-Mark (BOM) para determinar la codificación del archivo. Si falta la lista de materiales en el archivo, Select-String asumirá el archivo como UTF8.

Parámetros de Select-String

Microsoft imaginó y desarrolló los siguientes parámetros que se utilizarán en la sintaxis.

-Todas las coincidencias

Se utiliza para buscar todas las coincidencias en una línea a diferencia de la primera coincidencia en la línea que normalmente hace Select-Sting.

-CaseSensitive

Representa que la coincidencia distingue entre mayúsculas y minúsculas. Por defecto, Select-String no distingue entre mayúsculas y minúsculas.

-Context

Se utiliza para capturar el número especificado de líneas que ingresa antes y después de la línea de la coincidencia. Si ingresa 1, captura una línea antes y después de la coincidencia.

-Cultura

Hay ciertas culturas como ordinal, invariante, etc. en la codificación. Este parámetro se usa para especificar la cultura en la sintaxis.

-Cifrado

Se usa para especificar el formato de codificación del texto en archivos como ASCII, UTF8, UTF7, Unicode, etc.

-Excluir

Este parámetro se usa para excluir cierto texto en el archivo.

-Incluir

Este parámetro se usa para incluir cierto texto en el archivo.

-InputObject

Se utiliza para especificar el texto a buscar.

-Lista

Se utiliza para recuperar la lista de archivos que coinciden con el texto.

-LiteralPath

Se utiliza para especificar la ruta de la búsqueda.

-NoEmphasis

Generalmente, Select-String resalta la coincidencia en el archivo. Este parámetro se usa para evitar resaltar.

-NotMatch

Se usa para encontrar el texto que no coincide con el patrón especificado.

-Path

Se usa para especificar la ruta a buscar junto con el uso de comodines.

-Patrón

El parámetro se usa para encontrar la coincidencia en cada línea como un patrón.

-Quiet

Este parámetro se usa para obtener la salida en valores booleanos como Verdadero o Falso.

-Raw

Se usa para ver solo los objetos coincidentes en lugar de la información de coincidencia.

-SimpleMatch

El parámetro se usa para especificar una coincidencia simple en lugar de una coincidencia de expresión regular.

Diferencia entre FINDSTR y Select-String

FINDSTR es un archivo ejecutable anterior a PowerShell que se utiliza para buscar texto y cadenas en archivos. Select-String es un cmdlet de PowerShell que se usa para buscar texto y patrones en archivos. En comparación con FINDSTR, Select-String es el cmdlet más potente y complejo que muestra mucha información sobre la coincidencia.

¿Cuál es el equivalente en PowerShell de grep?

Select-String es el equivalente en PowerShell de grep disponible en Windows. Funciona de la misma manera que grep y proporciona información detallada sobre la coincidencia de acuerdo con los parámetros que usamos en la sintaxis.

¿FINDSTR funciona en archivos de Word?

Sí, FINDSTR funciona en archivos de Word. Pero no puede mostrar encontrar las coincidencias incluso si las cadenas que ingresó están en el archivo. Puede proporcionarle resultados en archivos binarios en los formatos.doc pero no en los formatos.docx por razones técnicas desconocidas.

Lectura relacionada : Cómo verificar la versión de PowerShell en Windows.

Categories: IT Info