コマンドの指定されたオプションに対してのみ「man」文書を表示する方法はありますか?

コマンドの指定されたオプションに対してのみ「man」文書を表示する方法はありますか?

それが何を意味するのかを知りたい場合は、wget -bマニュアルを見てman wgetその-bオプションを検索します。

   -b
   --background
       Go to background immediately after startup.  If no output file is specified via the -o, output is redirected to wget-log.

このようなコマンドで結果を得たいと思いますman wget -b。 (もちろんこれはうまくいきません。)

これを達成する同様の方法はありますか?

答え1

less男性用ポケットベルとして使用する場合は、試してみることができます

LESS="+/^\s+-b" man wget

どこ

  1. +less開封後の次のステップのシンボル
  2. /検索開始コマンド
  3. ^\s+-b-b正規表現は行の先頭から一致します。

したがって、必要に応じてシェルに適切な機能を配置できます。

function rman {
#USAGE: rman programm.name option.to.search (with "-" symbol)
LESS="+/^\s+$2" man "$1"
}

~/.bashrcたとえば、追加します。

答え2

実行中に検索したいプレーンテキストをman commandタップして入力できます。/たとえば、入力するとテキストの最初のインスタンス/-bに移動します。-b

答え3

私はこれを行うために、次のような小さなスクリプトを書いています。その、例えばhe wget -b

-b基本的な戦略は、行の最初の単語でオプション(たとえば)を検索し、次のタイトルまたはインデントが一致する次の行までを印刷することです。

それを使用できない場合は、基本的な方法を使用してこのようなものを得ることができますsed

man wget | sed -ne '/^  *-b/,/^$/p'

答え4

次のスクリプトを使用して接続します。explainshell.com。しばらく前にredditからこれをコピーしました。

#!/bin/bash
cmd=$1
shift
args=$*
args=${args/ /+}
w3m -dump "https://explainshell.com/explain/$cmd?args=$args"| tail -n +10

名前を付けて.Usesrmanに入れました。$PATHwget -b

$ rman wget -b    
wget(1) -b

The non-interactive network downloader

-b
--background
    Go to background immediately after startup.  If no output file is specified via the -o, output is
    redirected to wget-log.

source manpages: wget

私からここ。作者に感謝します!

関連情報