web-dev-qa-db-ja.com

manページをダンプする方法は?

内容のダンプだけを取得するためにファイルを「cat」するように、manページを「cat」するにはどうすればよいですか?

50
LanceBaynes

まず第一に、manファイルは通常、ファイルシステムのどこかにgzipで圧縮されたテキストファイルです。あなたの走行距離はそれらを見つけることを変えるでしょう、そしておそらくあなたはソースの代わりに男があなたに与える処理されてフォーマットされたバージョンを望んでいたので、あなたは単にmanツールでそれらをダンプすることができます。 man manを見ると、次のように-Pフラグを使用して、manページの表示に使用するプログラムを変更できることがわかります。

man -P cat command_name

画面に表示するのではなく、出力をパイプするときにmanが自動的に検出することも何の価値もありません。そのため、他の何かで処理する場合は、次のようにそのステップに直接スキップできます。

man command_name | grep search_string

またはファイルにダンプするには:

man command_name > formatted_man_page.txt
45
Caleb

ASCIIマニュアルページファイル、なしを取得するには、下線を付けるための煩わしいバックスペース/アンダースコア、および太字を実行する奇妙なシーケンス:

man ksh | col -b > ksh.txt
59
Bruce Ediger

通常、manページはtroffの前処理済みファイルであり、次のようにしてプレーンテキストを取得できます。

groff -t -e -mandoc -Tascii manpage.1 | col -bx > manpage.txt

grofftroffのラッパーです。

詳細はこちら

最初にマニュアルページファイルを解凍するためにgzipを使用する必要があるかもしれませんが、それでも出力には多くのフォーマット情報があります。

24
EightBitTony

私はいつもこれをします。このコマンドラインは私を幸せにします:

man man | col -bx > man.txt

col -bは、バックスペースを削除します。

col -bxもタブをスペースに置き換えます。これは私の好みです。

読み取り中にテキストを好みの幅にフォーマットする場合は、コマンドを次のように変更します。

MANWIDTH=10000 man man | col -bx > man.txt
13
sotosoc

manコマンドを使用するだけです-ファイルに対してcatを使用する場合と同じように、出力を他のものにパイプすることができます。

6
TomH

マンページをcatしたいだけの場合は、単純にcatにパイプできます。

man ls | cat

その内容をファイルにダンプしたい場合:

man ls > ls_manpage_dump.txt
3
Sheharyar