マニュアルページのタイトルをリストする方法は?

マニュアルページのタイトルをリストする方法は?

すべてのマニュアルページを読むことなく、マニュアルページのヘッダーリストを見たいと思います。たとえば、bashのマニュアルページ()には、、などのman bash.1多くのタイトルがあります。本質的に、私はこのページの上部に表示されているものと同じリストが欲しいです。NAMESYNOPSISCOPYRIGHTDESCRIPTIONHTML マニュアルページ。コマンドラインからローカルにインポートする方法はありますか?

これは、指定された名前とは異なる名前(「文法」ではなく「文法」)を使用してセクションを検索したい場合に便利です。あるいは、時には何を探しているのかわからない場合があります。

答え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

関連情報