GNU/Linux >> Linux の 問題 >  >> Linux

すべての Linux man ページを text / html または markdown に変換します

Pandoc を試すことをお勧めします:

$ pandoc --from man --to html < input.1 > output.html

読み取りと編集の両方が可能な HTML を生成しますが、後者は私のユースケースにとって重要です。

また、Markdown などの他の多くの形式を生成することもできます。これは、どの形式にコミットするかまだ決まっていない場合に便利です。

Pandoc は man から変換できないという質問にコメントがあります。 、しかしそれは時代遅れのようです。現在のバージョン (2.13) は、 man を適切に変換します。 html まで 私の例です。

さらに、受け入れられた回答では groff -mandoc -Thtml の使用が提案されていますが、 、それは私にとってPandocほどうまくいきませんでした.具体的には、古い Flex-2.5.5 の man ページを html に変換したいと考えています。 groff (バージョン 1.22.4) 残念ながら、すべてのコード例 (インデントなし、固定幅フォントなし) が壊れており、読みにくくなっていますが、Pandoc はそれらを pre として持ち込んでいます。 セクション。さらに、groff 出力は明示的なインライン スタイルでいっぱいですが、Pandoc 出力は CSS をまったく使用しないため、編集の出発点として適しています。

(Pandoc についても言及している既存の回答があり、情報を編集することを検討しましたが、それを使用した経験についてもっと言いたいと思いました。)


コマンド man -k '' を使用します find よりも優れている可能性がある、利用可能なすべてのマニュアルページ名を一覧表示できます と zcat 元のマンページ データ ファイル。一方、man のコマンドにはオプション -T, --troff-device[=DEVICE] があります。 これは、指定された man ページのセクションと名前の HTML を生成できます。次の bash スクリプトは、Linux で利用可能なすべての man ページを HTML ファイルに変換します。 :

man -k '' | while read sLine; do
    declare sName=$(echo $sLine | cut -d' ' -f1)
    declare sSection=$(echo $sLine | cut -d')' -f1|cut -d'(' -f2)
    echo "converting ${sName}(${sSection}) to ${sName}.${sSection}.html ..."
    man -Thtml ${sSection} ${sName} > ${sName}.${sSection}.html
done

オンライン マン ページ サービスが利用できないインターネット アクセスのないイントラネットでは、このファイルを autoindex をオンにした Nginx などの静的 HTTP サーバーに配置します。 ブラウズと Ctrl+F が便利な場合は、良いオプションです。


はい...それらの1つを変換するには、たとえば、マンオブマン:

zcat /usr/share/man/man1/man.1.gz  | groff -mandoc -Thtml

「すべてをPCにインストール」したい場合は、それらを繰り返すだけです。別の出力 (テキストなど) には、別の「デバイス」を使用します (-T 引数)。

念のため...「繰り返し」が本当の問題だった場合は、次を使用できます:

OUT_DIR=...

for i in `find -name '*.gz'`; do 
    dname=`dirname $i`
    mkdir -p $OUT_DIR/$dname
    zcat $i | groff -mandoc -Thtml > $OUT_DIR/$i.html
done

Linux
  1. マニュアルページを閲覧するための上位5つのLinuxmanコマンドオプション

  2. 着信メールをText/plainからText/htmlに変更しますか?

  3. 8 UNIX / Linux man コマンドで man ページを表示する例

  1. Linux でマニュアルページを効果的に使用する方法

  2. pythonは、LinuxでMicrosoft Officeドキュメントをプレーンテキストに変換します

  3. Linux のシェル出力を HTML に変換するには?

  1. Linux で特定のテキストを含むすべてのファイルを見つけるにはどうすればよいですか?

  2. Linux の man ページの読み方は?

  3. Linux の man ページを検索する方法 (grep などを使用)