我是一名 Windows 用户,希望在命令提示符中使用 grep 和 sed 等程序以及 ls、cut 等其他实用程序。我遇到了 2 个可以实现此目的的软件包
- Unx工具类
- GNU 核心实用程序
在选择它们之前,我想知道两者在功能方面以及更重要的是性能方面有什么区别。据我所知,Coreutils 是 UnxUtils 的超集。这是正确的吗?
答案1
UnxUtils 最出名的地方在于它位于 MSVCRT.dll 之上,而不是 glibc。这意味着它知道本机 Windows 路径(即您可以使用 ls c: 之类的命令)。一些(特别是 cygwin 和 SFU)将本机 DOS 路径名映射到类 Unix 树结构下。
如果您想从 .cmd 文件执行 unix 命令(有时这很有用),那么本机 DOS 路径支持非常有用。请注意,这与 SFU 或 Cygwin 不同。我不确定 CoreUtils 是否这样做,并且 Web 文档不清楚。如果是,您可能最好使用 CoreUtils,因为 UnxUtils 的维护相当稀少(例如没有本机 64 位版本)。但是,UnxUtils 非常稳定,在 64 位系统上运行良好。
编辑:尽管文档没有明确说明,但辅助网络资源暗示支持 DOS 路径,因此 CoreUtils 可能确实这样做。
答案2
不确定你从哪里得到“GNU Coreutils”....
几年前,我曾使用Unx工具类。原因?只是因为我先遇到了它。而且我喜欢它在 Windows 上运行,可以\
很好地处理平台路径分隔符……后来,我注意到它的一些工具并没有像我需要的那样在所有细节/命令行开关下工作(并且习惯于 Linux)。此外,我遇到了一些崩溃。(不要问细节,这是逐渐消逝的记忆。)此外,这些工具似乎不再维护了。
然后我寻找替代方案。我偶然发现了GnuWin32 软件包. 在我看来这似乎...
(a)...维护得更好(一些工具会不时更新);
(b)...比 UnxUtils 包含更多的 GNU 和其他自由软件工具。
/
尽管有些 GnuWin32 实用程序坚持路径分离(有些其他实用程序可以很好地处理两者)令我烦恼,但我仍然坚持使用 GnuWin32。