我想在我的kindle 上阅读unix 联机帮助页。我知道我可以将 man 输出重定向到一个文件并为其指定 .txt 扩展名。但有没有一种方便的方法来转换它们全体具有适当交叉引用的格式?
编辑:对我在这个问题中的行为表示歉意。我告诉帕特,如果作为答案提交,我会接受该评论,然后出现了更好的答案,但我没有遵守诺言(抱歉)。我热情地接受了 Caleb 的回答,该回答生成了 html 版本的联机帮助页;然后过了一段时间,当我真正尝试将文件传输到kindle时,我发现kindle不会显示html文件;我在没有解释的情况下就接受了(抱歉)。 kindle 似乎需要 .txt 或 .pdf(或各种文件之一)真实的电子书格式)。我希望我已经解释清楚了。
另外,我并没有真正了解 Debian Linux 发行版有多少手册页,因此 Caleb 关于选择“最佳”集合的评论似乎是最好的主意。但我真的没有兴趣尝试自己这样做(这是在 StackExchange 网站上提问的先决条件),所以我不太愿意询问如何选择“最佳”,尽管这确实是必要的实际上是为了做到这一点。
答案1
要将系统上所有手册页的所有部分转储为 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
答案2
为了将每个手册页转换为 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 文件。