•
find y findstr: El grep de Windows
Al ejecutar comandos en un equipo Windows seguro que alguna vez nos hemos visto con la necesidad de filtrar su salida o tener que buscar una cadena en varios ficheros. Vamos a ver la herramienta find y findstr:
Mediante find podemos filtrar la salida de un comando:
C:\>netstat -ano | find "LISTEN" TCP 0.0.0.0:135 0.0.0.0:0 LISTENING 816 TCP 0.0.0.0:445 0.0.0.0:0 LISTENING 4 TCP 0.0.0.0:902 0.0.0.0:0 LISTENING 2892 (...)
O también buscar una cadena dentro de ficheros:
C:\>find "hello" * ---------- TEST1.TXT hello ---------- TEST2.TXT ---------- TEST3.TXT hello world
Tiene algunas opciones similares a grep:
- Opción /v: Salida inversa, las lineas que no contienen el string
- Opción /i: Para ignorar si se trata de mayúsculas o minúsculas
- Opción /c: Contar el número de apariciones de la cadena:
C:>netstat -ano | find "LISTEN" /c 24
Tenemos también la herramienta findstr que además admite expresiones regulares:
C:\>tasklist | findstr "[cC]onsole" winlogon.exe 892 Console 1 7.388 KB (...)
Algo bastante molesto es que si se indica una cadena con espacios, lo interpreta como varias cadenas a buscar:
C:\Users\Jay\Desktop\test>findstr "hello world" * test1.txt:hellotest2.txt:worldtest3.txt:hello world
Por lo que si queremos buscar una cadena con espacios deberemos indicarlo con la opción /c:
C:\>findstr /c:"hello world" * test3.txt:hello world
Relacionados
Imprimir
•
One comment to “find y findstr: El grep de Windows”
•
15. November 2011 at 12:19 pm :
Muy interesante. Anotado.