Obtener las líneas que contengan direcciones ip de archivos de texto o salida de algún comando en Windows

A veces es necesario extraer de archivos de de texto, como archivos .log de algunos sistemas, las líneas que contengan direcciones IP, ya sea para análisis u otro motivo.

El linux existen herramientas o comandos como grep que permiten hacer esto, en Windows está el comando findstr, que aunque no tan poderoso como el grep, permite hacer lo que estamos buscando.

El comando findstr se debe ejecutar desde una consola o ventana de comandos de Windows, aunque es posible también incluirlo en archivos .bat (procesamiento por lotes) si así se requiere.

En el ejemplo siguiente obtendremos las lineas de salida del comando ipconfig que contengan direcciones IP. Ipconfig es el comando de Windows que nos permite ver la configuración de los adaptadores de red de nuestro equipo Windows. La imagen siguiente muestra los resultados de ejecutar el comanda ipconfig:

Ahora, vamos a obtener, de ese resultado, sólo las lineas que contienen una dirección IP con ayuda del comando findstr. Para eso ejecutaríamos el comando:

Lo que nos daría el siguiente resultado:

Como podemos ver en la imagen, el comando findstr muestra sólo las lineas de salida del comando ipconfig que contienen una dirección IP, el resto de las lineas son ignoradas.

Para obtener las lineas con IPs de un archivo de texto llamado archivo.log, la sintaxis del comando sería:

Para más información y usos del comando findstr pueden visitar la página del comando.

¡Hasta luego!

Borrar archivos viejos o antiguos en Windows desde linea de comando

Aunque esto lo podríamos hacer desde el el explorador de archivo de windows, ordenando los archivos por fecha y seleccionando los que cumplan la condición requerida de antigüedad, existe una forma más práctica de hacerlo usando el comando FORFILES desde la linea de comandos (CMD) del mismo windows. Este comando puede ser usado interactivamente o en un archivo de procesamiento por lotes (batch).

Por ejemplo en el siguiente uso del comando FORFILES:

Indica buscar en la carpeta C:\Documentos (/p “C:\Documentos”) y todas las carpetas contenidas en ella (/s), recursivamente,  aquellos archivos con la extensión .doc (/m *.doc) de 30 días o más de antigüedad (/d -30) y borrar dichos archivos con el comando del (/c “cmd /c del @path”).

También se le puede indicar la fecha exacta de antigüedad:

En este caso borrará los archivos igual o anterior a la fecha del primero de enero del 2017 (/d -01/01/2017), el formato de la fecha como puedes observar es dd/mm/aaaa (día/mes/año).

Más información y usos de este comando lo pueden encontrar aquí.

¡Espero les sirva!

¡No olviden visitar a los patrocinadores!