端末でマニュアルの生のテキスト出力を取得するにはどうすればよいですか


8

端末でマニュアルの生のテキスト出力を取得するにはどうすればよいですか?

「レス」タイプの画面を表示しないでマニュアルを表示したい。


2
「生のテキスト出力」とはどういう意味ですか?で-tマニュアルページをフォーマットするオプションがありますgroff
edwinksl 2016

回答:


12

cat-Pオプションを使用してポケットベルを変更できます。

man -P cat command

ここcommandで、manページを読みたい対象のコマンドです。

また、manページをファイルにリダイレクトして、ファイルを開いて読み取ることもできます。

man command > file

4

それぞれのセクションに対応するディレクトリの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

3

テキスト形式が必要で、文書内のあちこちにある厄介な「ページ区切り」が不要な場合、方法は次のとおりです。

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コマンドを実行する方法はありますが、今はテストできません...


1

manの出力のリダイレクト(他の回答で提案されているとおり)は期待どおりに機能するはずです。manは出力がttyではないことを検出するため、イタリック太字、およびその他のフォーマットを提供する適切なエスケープ文字の印刷を回避します。

より一般的な答えとして、col -bコマンドの出力からそのような文字を取り除くために使用できます。すべてのコマンドが同じように優れているわけmanではなく、出力がリダイレクトされていることを検出できない場合があります。言い換えると、次のようなことができます。

man command | col -b > somefile
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.