![使用 grep/cygwin 搜索 Windows 注册表](https://linux22.com/image/1484586/%E4%BD%BF%E7%94%A8%20grep%2Fcygwin%20%E6%90%9C%E7%B4%A2%20Windows%20%E6%B3%A8%E5%86%8C%E8%A1%A8.png)
我正在尝试搜索并删除不相关的注册表项,听起来 Cygwin 确实允许通过访问它们/proc/registry
。
但是,递归grep -r
(2.21)输出错误行如下:
grep: /proc/registry/HKEY_CLASSES_ROOT/.aspx/@: Is a directory
递归 grep 出现奇怪错误。然后,文件显示:
$ file /proc/registry/HKEY_CLASSES_ROOT/.aspx/@
/proc/registry/HKEY_CLASSES_ROOT/.aspx/@: ASCII text, with no line terminators
所以它现在是一个文件。我使用了cat
。
$ cat /proc/registry/HKEY_CLASSES_ROOT/.aspx/@
VisualStudio.aspx.10.0
我无法cd
进入它,而且ls -l
不显示d
标志。为什么grep
仍然认为它是一个目录?
答案1
我的理解是,cygwin 的注册表支持在某种程度上是实验性的。您看到的不是常规文件和文件夹,而是一种模拟的目录结构。如果像 grep 这样的实用程序在其中能正常运行,我会感到非常惊讶。
使用 powershell 可能会取得更大的成功,并且它不会有任何 regedit 的限制。