すべてのマニュアルページを読むことなく、マニュアルページのヘッダーリストを見たいと思います。たとえば、bashのマニュアルページ()には、、などのman bash.1
多くのタイトルがあります。本質的に、私はこのページの上部に表示されているものと同じリストが欲しいです。NAME
SYNOPSIS
COPYRIGHT
DESCRIPTION
HTML マニュアルページ。コマンドラインからローカルにインポートする方法はありますか?
これは、指定された名前とは異なる名前(「文法」ではなく「文法」)を使用してセクションを検索したい場合に便利です。あるいは、時には何を探しているのかわからない場合があります。
答え1
システムで使用mandoc
、マークダウン形式で出力を要求し、次から始まる行grep
を要求するだけです#
。
$ man -T markdown man | grep '^#'
# NAME
# SYNOPSIS
# DESCRIPTION
# ENVIRONMENT
# FILES
# EXIT STATUS
# EXAMPLES
# SEE ALSO
# STANDARDS
# HISTORY
これが機能しないマニュアルの場合は、HTMLを代わりに渡すことができます。
$ man -T html git | xmlstarlet sel -t -v '//h1/@id' -nl
NAME
SYNOPSIS
DESCRIPTION
OPTIONS
GIT_COMMANDS
HIGH
LOW
GUIDES
CONFIGURATION_MECHANISM
IDENTIFIER_TERMINOLOGY
SYMBOLIC_IDENTIFIERS
FILE/DIRECTORY_STRUCTURE
TERMINOLOGY
ENVIRONMENT_VARIABLES
DISCUSSION
FURTHER_DOCUMENTATION
AUTHORS
REPORTING_BUGS
SEE_ALSO
GIT
NOTES
答え2
編集する:
私はマニュアルページのタイトルが(ほとんどの場合)唯一の左揃えのテキストであることを知っています。/^\w
マニュアルページを開き、/ up / downでスクロールしてN
簡単な検索を実行できますn
。
スクリプトでヘッダーを見つけたい場合は、下の元の回答や他の人の回答が役に立ちます。
オリジナル:
幸いなことに、私は以下に基づいて解決策を見つけました:この回答(お手伝いいただいたら指をお勧めいたします。)
zcat $(man -w bash.1) | grep -i '^\.sh'
man -w
マニュアルページソースの場所を取得します(例/usr/share/man/man1/bash.1.gz
:)。zcat
ソースは動的に解凍されて送信され、stdout
呼び出しは「セクションヘッダー」を表示する(大文字と小文字を区別しない)開始行をgrep
検索します。.sh
これはセクションヘッダー()を無視しますが、.ss
フィルタを(Thomasに感謝します)に変更することで'^\.s[sh]'
この問題を解決できます。
答え3
より短くて簡単な選択肢は、空白以外のもので始まる行を見つけることです。
$ man git | grep '^\S'
GIT(1) Git Manual GIT(1)
NAME
SYNOPSIS
DESCRIPTION
OPTIONS
GIT COMMANDS
HIGH-LEVEL COMMANDS (PORCELAIN)
LOW-LEVEL COMMANDS (PLUMBING)
GUIDES
CONFIGURATION MECHANISM
IDENTIFIER TERMINOLOGY
SYMBOLIC IDENTIFIERS
FILE/DIRECTORY STRUCTURE
TERMINOLOGY
ENVIRONMENT VARIABLES
DISCUSSION
FURTHER DOCUMENTATION
AUTHORS
REPORTING BUGS
SEE ALSO
GIT
NOTES
Git 2.32.0 06/06/2021 GIT(1)
次の追加行も削除できます。
$ man git | grep '^\S' | sed '1d;$d'
NAME
SYNOPSIS
DESCRIPTION
OPTIONS
GIT COMMANDS
HIGH-LEVEL COMMANDS (PORCELAIN)
LOW-LEVEL COMMANDS (PLUMBING)
GUIDES
CONFIGURATION MECHANISM
IDENTIFIER TERMINOLOGY
SYMBOLIC IDENTIFIERS
FILE/DIRECTORY STRUCTURE
TERMINOLOGY
ENVIRONMENT VARIABLES
DISCUSSION
FURTHER DOCUMENTATION
AUTHORS
REPORTING BUGS
SEE ALSO
GIT
NOTES
すでに表示されている場合less
(つまり、表示するだけで何が起こるか)、一致する行のみを表示をman git
使用できます。&
IOW、タイトル(そして最初と最後の行)のみを入力し&^\S
て表示できます。less
全マンページ表示に戻るには、次のように入力し&
ますEnter。