pages de manuel pour mon Kindle?


9

Je voudrais lire les pages de manuel Unix sur mon Kindle. Je sais que je peux simplement rediriger la sortie man vers un fichier et lui donner une extension .txt. Mais existe-t-il un moyen pratique de les convertir en masse dans un format avec des références croisées appropriées?

Edit: Des excuses pour mon comportement dans cette question. J'ai dit à Pat que j'accepterais le commentaire s'il était soumis comme réponse, puis de meilleures réponses sont arrivées et je n'ai pas tenu ma promesse (Désolé). J'ai accepté avec enthousiasme la réponse de Caleb qui produit des versions html des pages de manuel; et puis quelque temps plus tard, lorsque j'ai essayé de transférer les fichiers vers le Kindle, j'ai découvert que le Kindle n'afficherait pas les fichiers HTML; et j'ai changé d'acceptation sans explication (Désolé). Le Kindle semble nécessiter .txt ou .pdf (ou l'un des divers formats de livres électroniques réels ). J'espère que je me suis expliqué.

De plus, je n'avais pas une compréhension réaliste du nombre, des pages de manuel de la distribution Debian Linux, et donc le commentaire de Caleb sur la sélection d'une collection "Best Of" semble être la meilleure idée. Mais je n'ai pas vraiment envie d'essayer de le faire moi-même (ce qui est une condition préalable pour poser des questions sur les sites StackExchange), donc je ne suis pas à l'aise de demander comment sélectionner le "Best Of", même si c'est vraiment nécessaire pratiquement pour ce faire.


Réponses:


2

Pour convertir chaque page de manuel en pdf, je l'ai fait man -k . > temp. J'ai créé un fichier temporaire et un script nommé file.sh:

#! /bin/bash
if [ $# -eq 1 ] ; then
    to_pdf=$(which ps2pdf)
    if [ -z "$to_pdf" ] ; then
    to_pdf=$(which pstopdf)
    fi
    name="$1"
    case "$to_pdf"  in
        *pstopdf) man -t "$name" | "$to_pdf" -i -o "$fname.pdf" ;;
        *ps2pdf)  man -t "$name" | "$to_pdf" - "$name.pdf" ;;
        *)        man -t "$name" > "$fname.ps"
    esac
    exit $?
fi
echo "Wrong number of parameters"
exit 1

J'ai écrit un fichier python pythonfile.py

import os
f=open("temp","r")
for i in f:
    c="bash file.sh "+str(i)
    os.system(c)`

Alors j'ai fait

python pythonfile.py 

Cela créera un pdf pour chaque page de manuel séparément dans votre répertoire de travail.


7

Pour vider toutes les sections de toutes les pages de manuel de votre système en html, vous pouvez essayer quelque chose comme ceci à partir d'un répertoire vierge:

IFS=\.
find /usr/share/man/man* -type f -exec basename {} .gz \; |
    while read page section; do
        man -Thtml $section $page > $page.$section.html
    done

Gee, ça prend vraiment un while, non? :)
luser droog

1
@luserdroog: Oui, en effet. Vous êtes celui qui a demandé de convertir en masse toutes les pages de manuel Unix sur votre système ! Si ce que vous voulez vraiment, c'est une collection "best of" à parcourir pendant votre temps libre, une approche différente est probablement de mise.
Caleb
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.