今天我阅读了两个关于哪些正则表达式受支持的答案less
:较少的搜索模式参考在哪里?
Kusalananda 提到
re_format(7)
并引用了它的手册页man 7 re_format
。RE_FORMAT(7) Miscellaneous Information Manual RE_FORMAT(7) NAME re_format – POSIX 1003.2 regular expressions DESCRIPTION Regular expressions (“REs”), as defined in IEEE Std 1003.2 (“POSIX.2”), <...>
ilkkachu
regex(7)
通过提供网页链接来提及并引用其手册页。regex(7) Miscellaneous Information Manual regex(7) NAME regex - POSIX.2 regular expressions DESCRIPTION Regular expressions ("RE"s), as defined in POSIX.2, <...>
我尝试弄清楚如何regex(7)
从 shell 打开手册页,而不是在网上阅读它。
man regex7
,,,man regex(7)
根本不起作用,而是man 7 regex
指向手册页。man7 regex
man regex
regex(3)
显示第 7 节中的手册页的命令
foo
是man 7 foo
。语法foo(7)
是通常编写该手册页的引用的方式。各个 UNIX 版本上的章节编号和页面名称都不相同。
可以从 shell 调用的命令通常在第 1 部分中有一个同名的手册页,但是即使这样也有很多例外,例如:
zsh(1)
只涵盖几个主题,其余的在 中zshbuiltins(1)
,zshzle(1)
等等;perl
甚至有更多单独的页面;openssl(1)
为每个子命令提供单独的手册页;等等。C 库函数通常在第 3 节中有一个手册页。直接包装系统调用的 C 函数或历史上如此的 C 函数则在第 2 节中。一些项目在 节中提供了 C 函数的手册页
3something
,例如3posix
、3pcap
等。其他一些语言的库在第 节中附带手册页3something
,例如3tcl
TCL 函数的手册页。一些语言有3perl
标准 Perl 模块、3pm
第三方 Perl 模块、3erl
Erlang 模块等的手册页。在大多数 unix 版本中,第 7 节包含“杂项”手册页。您不能指望不同版本的名称和内容保持一致。
Linux 发行版通常提供Linux man-pages 项目的手册页。尽管该项目托管在 Linux 内核网站上,但它包含大量与内核无关的文档,包括 GNU libc 和正则表达式语法等杂项主题。
man7.org
拥有相同的维护者,并显示 Linux man-pages 手册页等。Linux man-pages 项目有一个页面
regex(7)
记录了正则表达式语法。BSD 系统有一个内容类似的页面,但名为。Linux和FreeBSDre_format(7)
的第 7 节中的页面列表非常不同,这只是两个操作系统之间的众多差异之一。在Solaris上,集合再次不同,甚至部分编号也不同:5 表示杂项,而 7 表示设备。您可以运行
apropos regular expressions
以查找讨论正则表达式的手册页。其中包括许多以某种方式使用正则表达式的命令和函数,因此您可能希望将搜索限制在杂项部分。在 Linux 上,您可以使用 来执行此操作apropos -s7 regular expressions
。在 macOS 上, 和似乎apropos
都不man -k
支持限制到某个部分,但您可以过滤:apropos regular expressions | grep '(7)
。此外, Linux 和 macOS 上的
regex(3)
和grep(1)
手册页都引用了第 7 节中记录正则表达式语法的页面。