内容のダンプだけを取得するためにファイルを「cat」するように、manページを「cat」するにはどうすればよいですか?
まず第一に、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
ASCIIマニュアルページファイル、なしを取得するには、下線を付けるための煩わしいバックスペース/アンダースコア、および太字を実行する奇妙なシーケンス:
man ksh | col -b > ksh.txt
通常、manページはtroff
の前処理済みファイルであり、次のようにしてプレーンテキストを取得できます。
groff -t -e -mandoc -Tascii manpage.1 | col -bx > manpage.txt
groff
はtroff
のラッパーです。
詳細はこちら 。
最初にマニュアルページファイルを解凍するためにgzipを使用する必要があるかもしれませんが、それでも出力には多くのフォーマット情報があります。
私はいつもこれをします。このコマンドラインは私を幸せにします:
man man | col -bx > man.txt
col -bは、バックスペースを削除します。
col -bxもタブをスペースに置き換えます。これは私の好みです。
読み取り中にテキストを好みの幅にフォーマットする場合は、コマンドを次のように変更します。
MANWIDTH=10000 man man | col -bx > man.txt
man
コマンドを使用するだけです-ファイルに対してcat
を使用する場合と同じように、出力を他のものにパイプすることができます。
マンページをcat
したいだけの場合は、単純にcat
にパイプできます。
man ls | cat
その内容をファイルにダンプしたい場合:
man ls > ls_manpage_dump.txt