내 유치원에서 유닉스 맨 페이지를 읽고 싶습니다. man 출력을 파일로 리디렉션하고 .txt 확장자를 줄 수 있다는 것을 알고 있습니다. 그러나 적절한 상호 참조가있는 형식으로 일괄 변환하는 편리한 방법이 있습니까?
편집 :이 질문에 대한 나의 행동에 대한 사과. 나는 팻에게 답변으로 제출되면 의견을 수락하겠다고 말한 다음 더 나은 답변이 왔으며 약속을 지키지 않았습니다 (죄송합니다). 나는 맨 페이지의 html 버전을 생성하는 Caleb의 답변을 열정적으로 받아 들였다. 그리고 얼마 후 실제로 파일을 킨들에게 전송하려고 시도했을 때, 킨 파일이 html 파일을 표시하지 않는다는 것을 발견했습니다. 설명없이 수락을 전환했습니다 (죄송합니다). 이 킨들에는 .txt 또는 .pdf (또는 다양한 실제 전자 책 형식 중 하나)가 필요한 것으로 보입니다 . 나는 나 자신을 설명했으면 좋겠다.
또한, 데비안 리눅스 배포판에 몇 개의 맨 페이지가 있는지에 대한 현실적인 이해가 없었기 때문에 “최고의”컬렉션을 선택하는 것에 대한 Caleb의 의견이 가장 좋은 아이디어 인 것 같습니다. 하지만 실제로이 작업을 수행하려고하는 경향이 없습니다 (StackExchange 사이트에서 질문을하기위한 전제 조건). 실제로는 “최고”를 선택하는 방법을 묻는 것이 불편합니다. 실제로이 작업을 수행합니다.
답변
모든 매뉴얼 페이지를 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
나는 파이썬 파일을 썼다. 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가 생성됩니다.
답변
시스템의 모든 매뉴얼 페이지의 모든 섹션을 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