在底部man pcregrep
,有一条消息:
SEE ALSO
pcrepattern(3), pcresyntax(3), pcretest(1).
但是,当我尝试查看时,man pcresyntax
我得到:
$ man pcresyntax
No manual entry for pcresyntax
$ man 3 pcresyntax
No entry for pcresyntax in section 3 of the manual
$ man -k pcre
pcre-config (1) - program to return PCRE configuration
pcregrep (1) - a grep with Perl-compatible regular expressions
pcre_table (5) - format of Postfix PCRE tables
pcretest (1) - a program for testing Perl-compatible regular expressions
我尝试过yum info pcresyntax
,甚至yum search pcresyntax
什么也没得到。根据下面发布的一些评论的建议,我尝试了yum provides pcresyntax
但yum whatprovides pcresyntax
没有结果。 (此机器运行的是 CentOS 6.6。)
什么包包含手册页pcresyntax
?更重要的是,我怎样才能找到哪个包包含我缺少的手册页?
(这主要是针对缺少其他手册页中提到的手册页,而不是缺少已安装命令的手册页。换句话说,手册页与给定命令没有明显关联。)
笔记:我专业从事 Linux 工作,我对广泛适用的答案以及特定于任何主要包管理器的答案感兴趣。 pcresyntax
只是缺少手册页的一个具体示例,而不是我的问题的最终结果。
目前在工作中我主要使用yum
,主要是在 RHEL/CentOS 6 上,我问的是标题问题,而不是“在哪里可以找到pcresyntax
手册页?”因为我想尽可能多地了解如何查找和安装丢失的手册页,以供现在(RHEL/CentOS)和将来(Ubuntu/Debian、OpenSUSE,...?)的专业用途
自从问这个问题以来,我还发现了Stack Overflow 正则表达式常见问题解答这回答了我所有关于 PCRE 的直接问题。 ;)
答案1
对于使用 RPM (yum) 包管理器的系统,例如(此处)CentOS,使用yum provides
或者yum whatprovides
:
provides or whatprovides
Is used to find out which package provides some feature or
file. Just use a specific name or a file-glob-syntax wildcards
to list the packages available or installed that provide that
feature or file.
对于pcresyntax
,您可以尝试:
yum whatprovides "*/pcresyntax"
从RHL 文档,
yum provides "*/file_name"
是查找包含 file_name 的包的有用方法。
对于使用 APT 作为默认包管理器的 Debian/Ubuntu 系统,有apt-file
(谢谢@吉尔斯指出)可以完成您正在寻找的工作的命令。
DESCRIPTION
apt-file is a command line tool for searching files in packages for the APT package management system.
search Search in which package a file is included. A list of all packages containing the pattern pattern is returned.
因此,请使用apt-file search
来查找包含您要查找的文件的包。
换句话说,联机帮助页由文件提供(通常来自 /usr/share/man)和可能的重复如何找出文件属于哪个(未安装)包?!
答案2
我发现它是这样的:
yum whatprovides '*/man3/pcresyntax*'
在我的 CentOS 6.5 机器上,它显示在 PCRE-DEVEL-7.8-6.EL6 中