假设我想知道命令中-i
switch 的用法grep
而无需滚动。我只需要该命令的规范,或者至少首先看到该屏幕显示的内容。又怎样?正如您可以说的那样,通常不只是为了grep -i
。
假设我想知道命令中-i
switch 的用法grep
而无需滚动。我只需要该命令的规范,或者至少首先看到该屏幕显示的内容。又怎样?正如您可以说的那样,通常不只是为了grep -i
。
Answers:
试试这个简单的sed
命令,
$ man grep | sed -n '/-i, --ignore-case/,+2p'
-i, --ignore-case
Ignore case distinctions in both the PATTERN and the input
files. (-i is specified by POSIX.)
说明:
sed -n '/-i, --ignore-case/,+2p'
|<-Search pattern->|
它将打印包含搜索模式的行以及位于搜索模式行正下方的2行。
要么
您可以仅在搜索模式中仅给出标志,如下所示。
avinash@avinash-Lenovo-IdeaPad-Z500:~$ man grep | sed -n '/ *i, -/,+3p'
-i, --ignore-case
Ignore case distinctions in both the PATTERN and the input
files. (-i is specified by POSIX.)
avinash@avinash-Lenovo-IdeaPad-Z500:~$ man grep | sed -n '/ *V, -/,+3p'
-V, --version
Print the version number of grep to the standard output stream.
This version number should be included in all bug reports (see
below).
avinash@avinash-Lenovo-IdeaPad-Z500:~$ man grep | sed -n '/ *F, -/,+3p'
-F, --fixed-strings
Interpret PATTERN as a list of fixed strings, separated by
newlines, any of which is to be matched. (-F is specified by
POSIX.)
avinash@avinash-Lenovo-IdeaPad-Z500:~$ man grep | sed -n '/ *G, -/,+3p'
-G, --basic-regexp
Interpret PATTERN as a basic regular expression (BRE, see
below). This is the default.
您可以将此脚本添加到.bashrc
($HOME/.bashrc
)中以快速访问:
mangrep(){
USAGE="mangrep <application> <switch>"
if [[ "$#" -ne "2" ]]
then
echo "Usage: $USAGE"
else
man "$1" | sed -n "/ *"$2", -/,+3p"
fi
}
在终端上键入以下命令:
man grep
然后输入斜杠字符,然后输入/搜索内容,例如-i
,然后输入Enter。这会将光标定位在搜索字符串的第一个出现位置。按下n将光标移动到下一个出现的位置。按Shift+ n将光标移至上一个出现的位置。
-i
的的man grep
page.But OP只希望相关说明-i
,以手册页标志。
-i
。这正是OP想要的。
您可以在中使用搜索功能man
,只需按"s"
,输入您要查找的键(在您的情况下为-i),然后按介绍。
通过所有答案都可以,但是我认为您只关注一部分文档,而不是全部。例如,要查找-i
grep文档的开关:
info grep Invoking Command-line\ Options Matching\ Control
我将找到有关“ grep”的所有信息,以及如何为“匹配控件”“调用”特定的“命令行选项”。遗憾的是它并没有去比这更深刻,但它有-i
,-y
,--ignore-case
在首创25线,合理的东西,你就不必滚动所有一路下滑。
此解决方案更加灵活,还可以搜索所有信息页:
info --apropos=--ignore-case
"(coreutils)join invocation" -- --ignore-case <1>
"(coreutils)uniq invocation" -- --ignore-case <2>
"(coreutils)sort invocation" -- --ignore-case
"(gettext)msggrep Invocation" -- --ignore-case, ‘msggrep’ option
"(grep)Matching Control" -- --ignore-case
(必须使用--ignore-case
代替-i
因为它太普遍了,但是在任何情况下都可以将输出处理为信息)
在这种情况下,您将同时拥有信息页面的名称和确切的部分。啊,差点忘了,您也可以按照tab自己的方式浏览信息页面的大部分内容。
如果要以连字符开头的模式grep
的man <program>
结果,请--
在指定的模式之前使用。使用示例man find
:
man find | grep -- -type
如果您需要更多信息,例如描述选项的整个部分,请尝试使用sed
:
$ man find | sed -n '/-mindepth/,/^$/p'
-mindepth levels
Do not apply any tests or actions at levels less than levels (a
non-negative integer). -mindepth 1 means process all files
except the command line arguments.