¿Hay alguna manera de filtrar el historial de comandos en Windows usando cmder?

¿Hay alguna manera de filtrar el historial de comandos en Windows usando cmder?

En Linux puedo hacer algo así history | grep abcy eso solo mostrará los comandos que comienzan con 'abc'. Con Windows en cmder, puedo abrir el historial de comandos con el historycomando, pero no puedo encontrar una manera de filtrarlo por las primeras letras del comando. No parece haber equivalente |ygrep .

Respuesta1

cat %CMDER_ROOT%\config\.history | grep abc

En Cmder::Cmderlas sesiones historyhay una macro doskey. La salida de una macro no se puede pasar usando la canalización |, pero puede usar el comando que es el contenido de la macro doskey.

Referenciado: https://github.com/cmderdev/cmder/issues/1770

Respuesta2

El análogo aproximado de grepen Windows esfind y findstr. Así que simplemente corre history 2>&1 | find "abc"ohistory 2>&1 | findstr abc

La diferencia entre ellos es que:

  • findadmite Unicode (UTF-16) pero no admite expresiones regulares, yfindstr admite expresiones regulares pero no Unicode
  • findrequiere comillas alrededor de la cadena de búsqueda perofindstr no

¿Por qué existen programas FIND y FINDSTR con conjuntos de funciones no relacionadas?

En PowerShell habrá una mejor solución:Seleccionar cadena. Admite todo findy findstrmucho más. Y no tiene limitación de longitud de línea.

información relacionada