スクロールせず-i
にgrep
コマンドの切り替えの使用方法を知りたいとします。そのコマンドだけの仕様が必要です。または、少なくとも最初に画面に表示されます。どうやって?あなたが言うことができるように、一般的にだけではありませんgrep -i
。
スクロールせず-i
にgrep
コマンドの切り替えの使用方法を知りたいとします。そのコマンドだけの仕様が必要です。または、少なくとも最初に画面に表示されます。どうやって?あなたが言うことができるように、一般的にだけではありませんgrep -i
。
回答:
この簡単な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
で検索機能を使用し、presだけを"s"
探して、探しているキーを入力し(場合は-i)、イントロを押します。
または、このサイトに検索を行わせることができます:
http://explainshell.com/explain?cmd=grep+-i
ターミナルの使用からブラウザーに少し切り替える必要がありますが、それを回避する方法もあります。
私が知っている最も効率的な方法は、manページを検索することです-i
(このサイトはコードのレンダリングに失敗しているようです。つまり、です<space><space><space>-i
)。これは3つのスペース(必要なスペースが多い/少ない)の後に、探しているフラグが続きます。私の経験ではほとんど常に機能しますが、機能しない場合は、いくつかのバリエーションに変更できます。
フラグの実際のドキュメントは通常インデントされているため、機能します。通常、フラグの前にはスペースが1つしかないため、他のセクションでフラグに関する他の言及を見つけることは避けられます。
すべての答えは問題ないかもしれませんが、すべてではなく、ドキュメントの一部だけに焦点を合わせていると思います。たとえば-i
、grepドキュメントのスイッチを見つけるには:
info grep Invoking Command-line\ Options Matching\ Control
「grep」、「matching control」の特定の「コマンドラインオプション」を「呼び出す」方法に関するすべての情報が見つかります。悲しいことに、それはそれ以上深く行かないが、それは持っている-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
必要がありましたが、どのような場合でもinfoに出力を処理することができます)
この場合、情報ページの名前と正確なセクションの両方があります。ああ、ほとんど忘れていました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.