Compartir a través de


findstr (comando de búsqueda de texto)

Busca patrones de texto en archivos.

Sintaxis

findstr [/b] [/e] [/l | /r] [/s] [/i] [/x] [/v] [/n] [/m] [/o] [/p] [/f:<file>] [/c:<string>] [/g:<file>] [/d:<dirlist>] [/a:<colorattribute>] [/off[line]] <strings> [<drive>:][<path>]<filename>[ ...]

Parámetros

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 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.
/Yo Omite 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 de archivo si un archivo contiene una coincidencia.
/o Imprime el desplazamiento de caracteres antes de cada línea coincidente.
/p Omite los archivos con caracteres no imprimibles.
/off[línea] No omite los archivos que tienen establecido el atributo sin conexión.
/f:<file> Obtiene una lista de archivos del archivo especificado.
/c:<string> Usa el texto especificado como una cadena de búsqueda literal.
/g:<file> Obtiene cadenas de búsqueda del archivo especificado.
/d:<dirlist> Busca en la lista especificada de directorios. Cada directorio debe estar separado con un punto y coma (;), por ejemplo, dir1;dir2;dir3.
/un:<colorattribute> Especifica atributos de color con dos dígitos hexadecimales. Escriba color /? para obtener información adicional.
<strings> Especifica el texto que se va a buscar en nombre de archivo. Obligatorio.
[\<drive>:][<path>]<filename>[...] Especifica la ubicación y el archivo o los archivos que se van a buscar. Se requiere al menos un nombre de archivo.
/? Muestra ayuda en el símbolo del sistema.

Observaciones

  • Todas las opciones de línea de comandos findstr deben preceder a cadenas y nombre de archivo en la cadena de comandos.

  • Las expresiones regulares usan caracteres literales y meta caracteres para buscar patrones de texto, en lugar de cadenas exactas de caracteres.

    • Un carácter literal es un carácter que no tiene un significado especial en la sintaxis de expresión regular; en su lugar, coincide con una aparición de ese carácter. Por ejemplo, las letras y los números son caracteres literales.

    • Un meta-carácter es un símbolo con significado especial (un operador o delimitador) en la sintaxis de expresión regular.

      Los meta caracteres aceptados son:

      Meta-carácter Valor
      . comodín: cualquier carácter
      * Repetir: cero o más apariciones del carácter o clase anterior.
      ^ posición de línea inicial: principio de la línea.
      $ posición de la línea final: final de la línea.
      [class] clase Character: cualquier carácter de un conjunto.
      [^class] clase inversa: cualquier carácter que no esté en un conjunto.
      [x-y] intervalo: cualquier carácter dentro del intervalo especificado.
      \x escape: uso literal de un meta-carácter.
      \<string Posición inicial de la palabra: principio de la palabra.
      string\> posición final de palabra- Fin de la palabra.

      Los caracteres especiales de la sintaxis de expresiones regulares tienen la mayor potencia al usarlos juntos. Por ejemplo, use la combinación del carácter comodín (.) y repita (*) para que coincida con cualquier cadena de caracteres: .*

      Use la siguiente expresión como parte de una expresión más grande para que coincida con cualquier cadena que empiece por b y termine con ing: b.*ing

  • Para buscar varias cadenas en un conjunto de archivos, debe crear un archivo de texto que contenga cada criterio de búsqueda en una línea independiente.

  • Use espacios para separar varias cadenas de búsqueda a menos que el argumento tenga el prefijo /c.

Ejemplos

Para buscar hello o hay en el archivo x.y, escriba:

findstr hello there x.y

Para buscar hola allí en el archivo x.y, escriba:

findstr /c:"hello there" x.y

Para buscar todas las apariciones de la palabra Windows (con una letra mayúscula inicial W) en el archivo proposal.txt, escriba:

findstr Windows proposal.txt

Para buscar en todos los archivos del directorio actual y todos los subdirectorios que contenían la palabra Windows, independientemente del caso de letra, escriba:

findstr /s /i Windows *.*

Para buscar todas las apariciones de líneas que comienzan por FOR y van precedidas de cero o más espacios (como en un bucle de programa de equipo) y para mostrar el número de línea donde se encuentra cada aparición, escriba:

findstr /b /n /r /c:^ *FOR *.bas

Para enumerar los archivos exactos que desea buscar en un archivo de texto, use los criterios de búsqueda del archivo stringlist.txt, para buscar en los archivos enumerados en filelist.txty, a continuación, almacenar los resultados en el archivo results.out, escriba:

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

Para enumerar todos los archivos que contienen la palabra equipo dentro del directorio actual y todos los subdirectorios, independientemente del caso, escriba:

findstr /s /i /m \<computer\> *.*

Para enumerar todos los archivos que contengan la palabra computer y cualquier otra palabra que comience con comp( por ejemplo, complementar y competir), escriba:

findstr /s /i /m \<comp.* *.*