Преобразование всех man-страниц Linux в текст / html или markdown
есть ли способ преобразовать все man-страницы Linux в обычный текст, html или markdown?
Мне нужно сделать это для каждого файла man, который я установил в своей системе.
4 ответов
да... Чтобы обратить одного из них, скажем, человек человека:--3-->
zcat /usr/share/man/man1/man.1.gz | groff -mandoc -Thtml
Если вы хотите "все установлено на вашем ПК", вы просто повторите их. Для разных выходных данных (например, текст) используйте другое "устройство" (аргумент-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
используйте команду man -k ''
может перечислить все доступные имена man-страниц, которые могут быть лучше, чем find
и zcat
оригинальные файлы данных man-page; между тем, команда man имеет опцию -T, --troff-device[=DEVICE]
это может генерировать HTML данного раздела и имени man-страницы. Таким образом, следующий скрипт bash приходит к преобразование всех man-страниц, доступных в Linux в 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
в локальной сети без доступа в Интернет, что онлайн-сервис man-страниц недоступен, поместите эти файлы в свой статический HTTP-сервер, такой как Nginx с autoindex on хороший вариант, где обзор и Ctrl+F может удобно.
Сегодня ваш счастливый день. Кто-то уже сделал это за вас. http://linux.die.net/