查看grep的手册页,我注意到命令有两条不同的路径。这是否意味着我的系统上有多个grep工具?具有相同路径的概要行是否只是相同工具的不同用法示例?我正在使用OS X 10.10.5
NAME
grep - search a file for a pattern
SYNOPSIS
/usr/bin/grep [-bchilnsvw] limited-regular-expression
[filename]...
/usr/xpg4/bin/grep [-E | -F] [-c | -l | -q] [-bhinsvx] -e pattern_list...
[-f pattern_file]... [file]...
/usr/xpg4/bin/grep [-E | -F] [-c | -l | -q] [-bhinsvx]
[-e pattern_list]... -f pattern_file... [file]...
/usr/xpg4/bin/grep [-E | -F] [-c | -l | -q] [-bhinsvx] pattern
[file]...
DESCRIPTION
The grep utility searches text files for a pattern and
prints all lines that contain that pattern. It uses a com-
pact non-deterministic algorithm.一个后续问题:手册页从何而来?它们是动态生成的,还是静态安装的一部分?
发布于 2017-06-28 19:03:20
你说你在一台macOS机器上,但是手册看起来有点像grepSolaris机器的手动操作。这是给你的grepOSX 10.9比较。
在Solaris上,有几个具有多个实现的实用程序,grep就是其中之一。在/usr/bin中的那些坚持XPG3,这是“X/开放可移植指南,问题3”的缩写。单一Unix规范基于XPG4 (ref:维基百科X/公开文章)
例如,XPG3 grep in /usr/bin不支持扩展正则表达式,而/usr/xpg4/bin中的XPG4 grep支持扩展正则表达式。
如果一个实用程序在其手册中有几行概要,那么这些行通常是描述调用该工具的相互排斥的方式。
这些:
/usr/xpg4/bin/grep [-E | -F] [-c | -l | -q] [-bhinsvx] -e pattern_list...
[-f pattern_file]... [file]...
/usr/xpg4/bin/grep [-E | -F] [-c | -l | -q] [-bhinsvx]
[-e pattern_list]... -f pattern_file... [file]...。。显示您可以使用-e或-f (或两者都使用),但必须使用其中之一。
最后一个,
/usr/xpg4/bin/grep [-E | -F] [-c | -l | -q] [-bhinsvx] pattern
[file].....。显示如果您既不使用-e也不使用-f,那么需要在命令行上指定pattern。
手册是“静态”安装的,即作为man命令读取和显示的单独文件。但是,取决于您的系统,其中一些可能是groff或mandoc源文件,而另一些则可能预先格式化为文本文件,有时存储在未格式化手册的同级目录中,通常称为cat。它们有时也可能被压缩。阅读系统上的man手册(man man),了解如何在那里处理手册。
通常,手册可以在/usr/share/man、/usr/local/share/man或其他类似位置找到。
https://unix.stackexchange.com/questions/373988
复制相似问题