如何在 Cygwin 上安装/启用 pcregrep?

How to install / enable pcregrep on Cygwin?

我正在尝试使用 Cygwin 上 this SO question 的最佳答案中指定的 pcregrep。我的环境是Win7 64bit 运行ning Cygwin V 1.7.20(0.266/5/3).

使用 cygcheck -p pcregrep 我得到:

Found 6 matches for pcregrep
libpcre-devel-8.37-1 - libpcre-devel: Perl Compatible Regular Expressions library development (installed binaries and support files)
libpcre-devel-8.37-2 - libpcre-devel: Perl Compatible Regular Expressions library development (installed binaries and support files)
pcre-debuginfo-8.37-1 - pcre-debuginfo: Debug info for pcre (installed binaries and support files)
pcre-debuginfo-8.37-2 - pcre-debuginfo: Debug info for pcre (installed binaries and support files)
pcre-8.37-1 - pcre: Perl Compatible Regular Expressions utilities (installed binaries and support files)
pcre-8.37-2 - pcre: Perl Compatible Regular Expressions utilities (installed binaries and support files)

我已经尝试使用 this tutorial 中的安装 pcregrep 的说明,但 patch 似乎不是 cygwin 安装的一部分。本教程是通过这两个 SO 问题找到的,与我的思路相同: SO Question 1 and SO Question 2, citing them so they show up in the related questions section. This man page 表明它可以存在于 cygwin 中,但尝试 运行 它的手册页结果是:

$ man pcregrep
No manual entry for pcregrep

pcregrep 的库似乎存在于我的 cygwin 安装中,但我不知道如何编译/提取/启用它们以访问该实用程序。当我尝试 运行 它时,我从 bash 得到标准命令未找到响应:

$ pcregrep
-bash: pcregrep: command not found

所以我的问题是:我在 cygwin 中要做什么才能使用 pcregrep?

我不确定如何继续,我有数以万计的日志文件要处理,我需要能够找到与每行相关的三行,其中两行之间的行数它们,这些行中字符串的构成以及它们上方的 "header" 行告诉我正确的传感器类型信息如下(单个日志中可以有多个传感器数据,我必须使用一组特定的传感器数据)。如果我不知道如何安装 pcregrep(这似乎非常适合这项工作),我会用数据询问基本问题。

您的 cygcheck -p 查询表明在这三个包中提到了 pcregreponline package browser 确认 pcregrep.exe binarypcre 包中可用:您不必编译任何东西。

使用 Cygwin 安装程序,setup-x86.exe(对于 32 位 Cygwin)或 setup-x86_64.exe(对于 64 位 Cygwin),您可能在第一次安装 Cygwin 时使用过它地方,安装包:当你到"Select Packages"这一步时,在文本分类中找到pcre,点击新建栏中的循环图标,直到出现版本号,然后完成安装。如果您不再有安装程序,可以从 https://cygwin.com/.

下载它