Cada sistema operativo actual trae múltiples herramientas diseñadas para optimizar su uso y aumentar sus posibilidades de gestión. En el caso de los sistemas operativos Windows, contamos con una serie de comandos a través del símbolo del sistema que nos darán la oportunidad de administrar ciertas tareas dentro del sistema y una de estas es el comando Find.
En Windows manejamos diversos archivos que pueden contener numeroso texto y en un determinado será necesario buscar una o mas palabras por alguna razón, en lugar de abrir el archivo y empezar a navegar por las diferentes líneas (lo cual puede tomar tiempo), Windows nos ofrece el comando Find para simplificar esta tarea. Solo será necesario conocer dónde esta el archivo y es todo.
El comando find ha sido desarrollado para permitirnos realizar diversos tipos de búsqueda en Windows de forma simple y funcional. Básicamente el comando find, busca una cadena de texto en un archivo o varios archivos y despliega las líneas de texto que contiene la cadena seleccionada.
find [/v] [/c] [/n] [/i] [/off[line]] <"cadena"> [[<unidad>:][<ruta>]<nombre_archivo>[...]]
- /v: permite ver todas las líneas que no contienen la palabra especificada.
- /c: se encarga de contar las líneas donde se encuentra la palabra especificada y genera el total de palabras halladas
- /n: precede cada línea usando el número de línea del archivo
- /i: permite indicar que la búsqueda no haga distinción entre mayúsculas y minúsculas
- [/off[line]]: este parámetro no omite los archivos donde se ha configurado el atributo sin conexión
- <"cadena"> es un parámetro obligatorio ya que hace referencia al grupo de caracteres o palabra la cual debe ir entre comillas a buscar
- [<unidad>:][<ruta>]<nombre de archivo>: indica la ubicación y el nombre del archivo donde se ha de realizar la búsqueda
- /?: muestra la ayuda del comando
- 0 : se ha ubicado la cadena buscada
- 1: la cadena buscada no fue encontrada
- 2: No se encontró el archivo buscado o bien indicamos un interruptor de línea de comando no válido
Ahora veamos como usar este comando Find en CMD.
1. Usar comando Find en CMD Windows
Abre CMD desde Inicio:
Damos clic derecho sobre el archivo donde se buscará, pulsamos la tecla Shift y seleccionamos "Copiar como ruta de acceso":
En la consola de CMD buscamos la palabra deseada con la sintaxis:
find "palabra" Ruta_archivo
Al pulsar Enter veremos cada una de las líneas donde esa palabra especifica ha sido encontrada:
Podemos buscar la palabra sin coincidencia exacta (mayúsculas o minúsculas):
find /i "palabra" Ruta_archivo
En este caso veremos todas las palabras independiente de si son mayúsculas o minúsculas.
Es posible buscar una palabra en diversos archivos, para ello usaremos la sintaxis:
find /i "palabra" Ruta_archivo1 Ruta_archivo2
Podemos buscar una palabra en todos los archivos de una extensión específica, en este caso ejecutamos lo siguiente:
find /i "palabra" Ruta_archivo\*.extensión
Para contar el número de líneas , usamos la sintaxis:
type Ruta_archivo| find "" /v /c
Para contar las líneas en un determinado archivo ejecutamos:
find /v /c "" Ruta_archivo
Para contar las líneas en un tipo de archivo ejecutamos:
find /v /c "" Ruta_archivo\*.extensión
- Si no se hace uso del parámetro /i, se hará la búsqueda específica para la cadena indicada
- Si la cadena a buscar dispone de comillas, será necesario usar comillas dobles para cada comilla que está dentro de la cadena a buscar
- Es posible usar los parámetros en el orden deseado
- No es posible usar comodines (* y ?) en la cadena a buscar
2. Parámetros del comando find en Windows
Una vez accedamos al símbolo del sistema podemos ejecutar la siguiente línea para obtener en detalle las diversas opciones a usar con este comando:
find /?
- Los interruptores pueden ser minúsculas o mayúsculas sin afectar la búsqueda
- Al usar el parámetro "cadena”, se deben añadir comillas dobles a la cadena, ya que, de lo contrario, el comando buscar no funcionará y devolverá un error como respuesta.
- El parámetro [unidad:] [ruta] archivo puede ser cualquier elemento, desde una letra de unidad a uno o más archivos.
La sintaxis a usar con el comando find en sistemas Windows es:
find [switches] "cadena" [archivo]Los interruptores o switches pueden estar en cualquier orden, pero siempre deben estar antes del parámetro "cadena”.
- Especificar una cadena: Si no hacemos uso del parámetro /i, el comando find buscara exactamente lo que indiquemos en la cadena. Recordemos que si usamos /i no se identificarán minúsculas de mayúsculas, B y b serán lo mismo, mientras que si no lo usamos las letras serán tenidas en cuenta.
- Usar el comando find como un filtro: En caso de omitir un archivo, el comando find actuara como un filtro al tomar la fuente de entrada estándar y luego desplegar las líneas que contienen la línea Cadena.
- Es posible escribir parámetros y opciones de línea de comandos para el comando find en cualquier orden.
- Uso de comodines: No se permite el uso de los comodines * y ? en exte4nsiones de archivos. Para buscar una cadena en un conjunto de archivos que usemos con comodines, es posible usar el comando find dentro de un comando for.
- Se permite usar / c y / v en la misma línea de comando
3. Realizar búsquedas con el comando Find en Windows
Para este caso, debemos especificar que texto buscaremos y en que ruta hemos de buscar dicho texto.
Usemos este ejemplo:
find "Solvetic" "D:\Solvetic\solvetic.txt"El resultado será el siguiente:
Para ver la importancia de las mayúsculas o minúsculas ejecutaremos lo siguiente:
find "solvetic" "D:\Solvetic\solvetic.txt"Veremos lo siguiente:
Podemos ver que el resultado no emita ningún resultado debajo de la línea. Si deseamos que la búsqueda se ejecute sin distinguir mayúsculas o minúsculas, podemos usar el parámetro /i de la siguiente forma:
find /i "solvetic" "D:\Solvetic\solvetic.txt"En este caso se buscará el termino Solvetic sin diferenciar la mayúscula o minúscula:
4. Buscar en múltiples documentos la misma cadena Windows
Otra de las opciones que nos permite realizar el comando find es buscar una cadena de texto en uno o más documentos, en este caso debemos indicar cada ruta separada y con comillas así:
find /i "solvetic" "D:\Solvetic\solvetic.txt" "D:\Solvetic\solvetic1.txt" "D:\Solvetic\solvetic2.txt"
Si no deseamos ingresar ruta por ruta, será posible buscar todos los archivos de texto en un directorio usando el carácter comodín, (*), de la siguiente forma:
find /i "solvetic" "D:\Solvetic\*.txt”
5. Contar el número de líneas de un archivo Windows
Con el uso de los comandos type y find será posible determinar la cantidad de líneas que tiene un archivo.
En este caso, canalizaremos los resultados del comando type con el comando find usando la barra vertical (|), luego usaremos el interruptor "/ v" para mostrar todas las líneas que no contienen la cadena "", y esto lograra que sea contada cada línea con texto. Para mostrar solo el número de líneas en el archivo de texto podemos usar el interruptor "/ c":
type D:\Solvetic\solvetic.txt | find "" /v /c
Enviar la salida de otro comando al comando Buscar Es posible buscar todos los nombres de archivo en un directorio específico para una cadena determinada canalizando la salida del comando dir al comando find.
Para este caso tenemos el directorio D:\Solvetic\ y obtendremos los subdirectorios usando el parámetro /s. Luego especificaremos un formato sin información de encabezado o resumen usando el parámetro /b y desplegaremos el resultado en formato de lista ancha con el parámetro /w.
Luego, canalizamos con la barra,(|), la salida del comando dir en el comando find.
dir “D:\Solvetic” /s /b /d | find "Solvetic"
Vemos como con este comando Find las opciones son simples pero dan resultados puntuales del término a buscar. De esta forma el comando find nos permite realizar búsquedas de determinados tipos de archivos de forma simple y funcional en sistemas Windows.