Buscar en el registro de Windows con grep / cygwin

0

Estoy tratando de buscar y eliminar claves de registro no relevantes, y parece que Cygwin sí permite el acceso a ellas a través de /proc/registry.

Sin embargo, recursiva grep -r (2.21) genera líneas de error como:

grep: /proc/registry/HKEY_CLASSES_ROOT/.aspx/@: Is a directory

Error extraño para un grep recursivo. Luego, el archivo muestra:

$ file /proc/registry/HKEY_CLASSES_ROOT/.aspx/@
/proc/registry/HKEY_CLASSES_ROOT/.aspx/@: ASCII text, with no line terminators

Así que ahora es un archivo. solía cat.

$ cat /proc/registry/HKEY_CLASSES_ROOT/.aspx/@
VisualStudio.aspx.10.0

Y no puedo cd en ello, además ls -l no muestra el d banderas Por qué grep ¿Todavía lo considera como un directorio?

Amessihel
fuente
Usar cygwin para editar el registro parece un poco arriesgado. Puede arruinar los permisos y la propiedad de los archivos, etc., así que no sé qué podría hacer esto con los archivos de registro. ¿Hay alguna razón por la cual la utilidad regular de regedit no haga lo que necesita?
user1751825
regedit Las capacidades de búsqueda son bastante limitadas. Dicho esto, este es un tema interesante, especialmente porque find -type f Funciona como se espera.
Daniel B
1
Hmm Cuál es el @ se supone que representa? cd /proc/registry/HKEY_CLASSES_ROOT/.aspx seguido por ls funciona para mi.
DavidPostill
1
Cual es el exacto grep comando que está utilizando?
DavidPostill
@DavidPostill: grep -r string /proc/registry. Actualicé mi pregunta para agregar la versión. también cd /proc/.../.aspx entonces ls muestra @ entre otras entradas.
Amessihel

Respuestas:

0

Mi entendimiento es que el soporte del registro de cygwin es algo experimental. No está viendo archivos y carpetas normales, sino una especie de estructura de directorio simulada. Me sorprendería mucho si los servicios públicos como grep se comportaran correctamente allí.

Es probable que tenga mucho más éxito con powershell, y no tendrá ninguna de las limitaciones de regedit.

user1751825
fuente