manpages для моего разжигания?


9

Я хотел бы прочитать руководства Unix на моем Kindle. Я знаю, что могу просто перенаправить вывод man в файл и дать ему расширение .txt. Но есть удобный способ , чтобы преобразовать их скопом в формат с надлежащими перекрестными ссылками?

Изменить: извинения за мое поведение в этом вопросе. Я сказал Пэт, что приму комментарий, если его отправят как ответ, а затем пришли лучшие ответы, и я не сдержал свое обещание (извините). Я с энтузиазмом принял ответ Калеба, который производит HTML-версии справочных страниц; а затем, через некоторое время, когда я действительно попытался передать файлы в kindle, я обнаружил, что kindle не отображает html-файлы; и я переключил принятие без объяснения причин (извините). Для kindle требуется .txt или .pdf (или один из различных реальных форматов электронных книг). Я надеюсь, что я объяснил себе.

Кроме того, у меня не было реалистического понимания того, сколько, много man-страниц существует в дистрибутиве Debian Linux, и поэтому комментарий Калеба о выборе коллекции «Best Of» кажется лучшей идеей. Но у меня нет особой склонности пытаться сделать это самостоятельно (что является обязательным условием для вопросов на сайтах StackExchange), поэтому мне неудобно спрашивать, как выбрать «Best Of», хотя это действительно необходимо практически для того, чтобы сделать это.


Ответы:


2

Чтобы преобразовать каждую страницу man в pdf, я это сделал man -k . > temp. Я создал временный файл и скрипт с именем 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

Я написал файл Python pythonfile.py

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

Тогда я сделал

python pythonfile.py 

Это создаст PDF для каждой man-страницы отдельно в вашем рабочем каталоге.


7

Чтобы вывести все разделы всех man-страниц вашей системы в html, вы можете попробовать что-то вроде этого из пустой директории:

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

Ну и дела, это действительно занимает while, не так ли? :)
luser droog

1
@luserdroog: Да, действительно. Вы тот, кто попросил массово конвертировать каждую man-страницу unix в вашей системе ! Если то, что вы действительно хотите, - это лучшая коллекция для просмотра в свободное время, возможно, вам нужен другой подход.
Калеб
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.