El comando Findstr en Windows es útil para buscar patrones de texto específicos en archivos. Su funcionalidad es similar al comando grep en el sistema operativo Linux. Puede encontrar a continuación la sintaxis de ‘findstr’ para varios casos de uso.
Buscar texto / cadena en un archivo:
findstr pattern filename
por ejemplo, para buscar la cadena ‘Windows’ en el archivo de texto CLItips.txt, el comando sería como abajo.
findstr Windows CLItips.txt
tenga en cuenta que el comando anterior busca exactamente ‘Windows’., Considera el caso por defecto. Por lo tanto, si tiene una línea que tiene la palabra ‘windows’, no se imprimirá en la salida del comando anterior.
ignorar mayúsculas y minúsculas:
Puede añadir / I cambiar para ignorar el mayúsculo en la búsqueda. Así que si ejecuta ‘ findstr Windows / I CLItips.txt’, hace coincidencia de patrón insensible a mayúsculas y minúsculas.
Buscar cualquiera de las palabras dadas
si desea imprimir las líneas que tienen cualquiera del conjunto de palabras dado, puede encerrar la lista de palabras entre comillas dobles en el comando findstr.,
findstr "word1 word2 word3.." filename.txt
findstr "Apple Orange" fruits.txt
Este comando imprimir una línea si tiene la palabra «Manzana» o la palabra «Naranja» o de ambas palabras.
Búsqueda de patrón con varias palabras
findstr /C:"word1 word2 word3..." filename
/C indica que el patrón de búsqueda deben cumplirse literalmente.
por ejemplo, para buscar la cadena «Apple Ball Cat» en file Book.txt, el comando sería el siguiente
findstr /C:"Apple Ball Cat" Book.txt
buscar con Expresiones Regulares
puede usar expresiones regulares con el interruptor findstr /R. El comando típico sería el siguiente.,
findstr /R pattern filename.txt
Aquí el patrón se puede especificar usando expresiones regulares.
ejemplos:
buscar la ocurrencia de todas las palabras que terminan con ‘ xyz ‘ en un archivo.
findstr /R *xyz filename.txt
Buscar texto en todos los archivos de un directorio actual
puede usar comodín ‘ * » para especificar que todos los archivos de un directorio deben buscarse por la cadena dada.
por ejemplo, para buscar ‘windows’ en todos los archivos en el directorio actual, puede usar el siguiente comando.,
findstr /I windows *
para buscar todos los archivos de texto en el directorio C:\data:
findstr /I windows C:\data\*.txt
buscar varias cadenas
Si necesita buscar varias cadenas, puede hacerlo con el siguiente script por lotes.
@echo offfor /F %%i in (pattern.txt) do (echo Files containing %%ifindstr /M /C:%%i /S *.txt)
‘pattern.txt ‘ es el archivo que tiene las cadenas (una por línea) que deben buscarse. El comando anterior busca solo Archivos de texto. Puede personalizar el comando findstr en el script para buscar en archivos con otras extensiones. Agregar la opción ‘/ M ‘ al comando hace que solo se impriman los nombres de los archivos.,
imprime solo las líneas donde la cadena dada está al principio de la línea.
Puede agregar el interruptor /B para indicar que la cadena especificada debe estar al principio de la línea.
findstr /B /C:windows CLItips.txt
Imprimir sólo las líneas donde la cadena está en el extremo de la línea
findstr /E /C:windows CLItips.txt
Imprimir los números de línea para todas las líneas coincidentes.
Puede agregar / N switch al comando findstr para imprimir números de línea para las líneas coincidentes.
imprime solo los nombres de archivo
finstr /M /C:"pattern" *.log
Este comando busca el patrón en all *.,archivos de registro, y luego imprime solo los nombres de archivo que tienen el patrón. Incluso si un archivo tiene varias ocurrencias del patrón, findstr lo imprime solo una vez.