Atxera

…todo lo que te gusta leer.

comandos Batch

find y findstr: El grep de Windows

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

próximo Publicación

© 2021 Atxera

Tema de cuxi