Sto*_*dow 20 gnu command-line gnuwin32
我是一个 Windows 用户,他希望在我的命令提示符中使用 grep 和 sed 等程序以及 ls、cut 等其他实用程序。我遇到了 2 个可以完成此任务的软件包
在我选择它们之前,我想知道两者在功能方面和更重要的性能方面有什么区别。从我所见,GnuWin32 是 UnxUtils 的超级集。这样对吗 ?
Barlop 指出,
这个问题是关于 coreutils 和 unxutils,但由于他在谈论 grep 和 sed,很明显他想询问 gnuwin32 和 unxutils,这是一个比错误的问题更有用和重要的问题。如果人们想将其恢复为 coreutils 和 unxutils,那么我很乐意这样做并为 gnuwin32 和 unxutils 发布另一个问题。此外,对他的原始问题的任何正确答案都将纠正或回答他的错误,但也能回答他的意思。所以纠正他的问题没有损失。
bar*_*lop 17
unxutils 有一些最有用的实用程序的旧版本。例如包括grep。
gnuwin32 版本也已经过时多年,尽管不像 unxutils 那样古老。Gnuwin32 有更多的实用程序。这显然是一大优势。
请记住,与 unxutils 相比,gnuwin32 具有这一主要优势。
举个例子..
极其古老的 unxutils
C:\unxutils>grep -V
grep (GNU grep) 2.4.2
Copyright 1988...
Run Code Online (Sandbox Code Playgroud)
相当古老的 gnuwin32
C:\blah>"c:\Program Files (x86)\GnuWin32\bin\grep.exe" -V
GNU grep 2.5.4
Copyright (C) 2009 ...
Run Code Online (Sandbox Code Playgroud)
与保持比 gnuwin32 更新的软件(例如 cygwin)相比
$ grep --version
grep (GNU grep) 2.21
Copyright (C) 2014 Free Software Foundation, Inc.
Run Code Online (Sandbox Code Playgroud)
使用 unxutils,您可能会遇到问题,因为它使用的是非常旧的版本,并且在寻求帮助时人们会希望您拥有这个或那个命令的最新版本。
unxutils 有一些较小的优势,这使得 unxutils 非常有用。
gnuwin32 截至写作(2014 年)有一个断尾 -f,unxutils 的 tail -f 较旧但有效。(这里提到 Cygwin 的尾巴也有效)。在两个不同的情况下,我遇到了 gnuwin32 grep 中的错误,这些错误已在更高版本的 grep 中得到修复,而 cygwin 的 grep 更晚而且很好(并且可以直接从 cmd.exe 运行,而不必从cygwin 外壳)。
下面是一个较小的优势,但如果你很懒惰,或者只是想快速使用它,那么 unxutils 只是一个 zip,你可以解压缩可执行文件然后去。Gnuwin32 包含一个安装各种位的向导,甚至一些单独的实用程序也必须单独安装,例如 wget 的安装可执行文件,grep 的一个安装程序,例如 (grep-xxxx-bin.exe)。使用 unxutils,您只需从 zip 中的 wbin 目录中提取。请记住,尽管它们是旧版本,因此如果可能的话,如果不是太懒惰,通常会查看 gnuwin32 是否有它。
unxutils sourceforge 链接有 unxutils.zip 和 unxupdates.zip(后者是 unxutils.zip 的一个子集,但后来仍然是旧版本)。例如,unxutils 有 1998 年的 sed,而 unxupdates 有 2003 年的一个。这可以帮助例如 1998 sed 没有 \d 或 \x 符号 egeg \d34 或 \x22 来指定引号(比转义引号更容易)。unxupdates 是从 2003 年开始的。
在撰写本文时,gnuwin32 sed 是 2009 年的。(Gnuwin32 仍然过时,因为即使是 2014 http://ftp.gnu.org/gnu/grep/也有 grep 版本, 但 gnuwin32 的过时要少得多比 unxutils(即使将 unxutils 与 'unxupdates' 一起考虑)。
该 http://unxutils.sourceforge.net/网站的unxutils.zip下跌,但可https://archive.org/details/UnxUtils并正式 https://sourceforge.net/projects/unxutils/,如果你是要得到它然后也下载 unxupdates
比较gnuwin32和unxutils,一般看Gnuwin32,但是知道unxutils有一些优势。。gnuwin32几乎拥有unxutils的所有命令,而且还有很多。
而且,看看 Cygwin,它有大量的实用程序,比 gnuwin32 保持更新,(它们应该从 cygwin 的 bash shell 运行,这对我来说很好),您通常不需要查看一些古老的东西,没有像 unxutils 那样更新,尽管它确实有 pclip 和 gclip。
除了 gnuwin32 和 unxutils 之外,还有 MinGW 和 cygwin 以及 Windows SUA(在撰写本文时,MS 仍在维护并且会是最新的)和 GOW(虽然很小,但 GOW github 页面显示它是 2014 年最后更新的)和仍然更小,BusyBox(以安卓而闻名,但适用于 Windows,这里仍然很小. 对我来说最令人印象深刻的两个是 gnuwin32 和 cygwin(并且 cygwin 有 xxd 和一个有效的 tail -f。所以我不需要求助于 unxutils)使用 cygwin,程序应该真正从 cygwin shell 运行,但它是一个 linux shell 例如 bash shell 和 bash 以及其他 linux shell 功能强大,因此不会有任何损失。还请记住,现在许多人使用 linux 虚拟机而不是 cygwin 或 gnuwin32,它们确实会更新命令的正确版本,而不是 Windows 端口,这些端口可能更旧并且可以用引号引起不同的行为。
添加注意-coreutils 又名 gnu coreutils,是一堆在 linux (..) 上运行的命令,毫无疑问是带有 Herd 的 GNU 操作系统(一个不太广泛使用的操作系统!),并且可能为其他 *nix 操作系统做了一些不错的实现。GNU Coreutils 是众所周知的,并且使用极其广泛、有用和更新。另一方面, unxutils 是人们在 linux 或 unix 上使用的一些命令的非常古老的实现/端口(无疑包括一些 coreutils 命令),为 Windows 操作系统完成。这两者通常甚至不会在同一句话中被提及,他们出现在原始问题中的唯一原因是由于原始问题中的一些混淆。GnuWin32 确实有一个适用于 Windows 的 coreutils 实现,称为 Gnuwin32 coreutils ,尽管如前所述,Gnuwin32 旧/未更新,只是不像 unxutils 那样旧/未更新。
Unxutils 是 Windows 原生的,并且没有任何依赖项 - 但有一段时间没有更新,并且是 coreutils 的一个子集。你需要一个用于 coreutils 的 *nix 风格的环境,所以你需要在 cygwin 或类似的环境中运行它们
| 归档时间: |
|
| 查看次数: |
14323 次 |
| 最近记录: |