ターミナルでマニュアルの生テキスト出力を取得するにはどうすればよいですか?
「少ない」タイプの画面を表示せずにマニュアルを作成したい。
-P
オプションを使用して、ページャーをcat
に変更できます。
man -P cat command
ここで、command
は、読みたいmanページの対象コマンドです。
また、manページをファイルにリダイレクトして、ファイルを開いて読むこともできます。
man command > file
圧縮された(非圧縮も可能)man
ファイルを直接読み取ることができ、それぞれのセクションに対応するディレクトリの/usr/share/man/
の下にあります。
たとえば、man
のcat
ページの生のコンテンツを取得するには、/usr/share/man/man1/cat.1.gz
を読み取る必要があります。
zcat /usr/share/man/man1/cat.1.gz
同様に、man 2 fork
の場合:
zcat /usr/share/man/man2/fork.2.gz
テキスト形式が必要な場合、および文書内のいたるところにあるこれらの厄介な「ページ区切り文字」が望ましくない場合、方法は次のとおりです。
zcat /usr/share/man/en/man1/man.1.gz | groff -m man -rcR=1 -T ascii -
(/usr/share/man/en/man1/man.1.gz
を探しているマンページに変更します。これはmanのマニュアルページです(man man
と同じですが、ページ区切りなし)
あなたのために同じことをするカスタムマンコマンドを行う方法がありますが、私は今それをテストすることはできません...
man
の出力のリダイレクト(他の回答で示唆されているように)は期待どおりに動作するはずです。 man
は、その出力がttyではないことを検出するため、そうでなければitalics、boldおよびその他のフォーマット。
より一般的な答えとして、col -b
を使用して、コマンドの出力からそのような文字を取り除くことができます。すべてのコマンドがman
ほどスマートではなく、出力がリダイレクトされていることを検出しない場合があります。言い換えると、次のようなことができたはずです。
man command | col -b > somefile