내 친절에 대한 맨 페이지?


9

내 유치원에서 유닉스 맨 페이지를 읽고 싶습니다. man 출력을 파일로 리디렉션하고 .txt 확장자를 줄 수 있다는 것을 알고 있습니다. 그러나 적절한 상호 참조가있는 형식으로 일괄 변환하는 편리한 방법이 있습니까?

편집 :이 질문에 대한 나의 행동에 대한 사과. 나는 팻에게 답변으로 제출되면 의견을 수락하겠다고 말한 다음 더 나은 답변이 왔으며 약속을 지키지 않았습니다 (죄송합니다). 나는 맨 페이지의 html 버전을 생성하는 Caleb의 답변을 열정적으로 받아 들였다. 그리고 얼마 후 실제로 파일을 킨들에게 전송하려고 시도했을 때, 킨 파일이 html 파일을 표시하지 않는다는 것을 발견했습니다. 설명없이 수락을 전환했습니다 (죄송합니다). 이 킨들에는 .txt 또는 .pdf (또는 다양한 실제 전자 책 형식 중 하나)가 필요한 것으로 보입니다 . 나는 나 자신을 설명했으면 좋겠다.

또한, 데비안 리눅스 배포판에 몇 개의 맨 페이지가 있는지에 대한 현실적인 이해가 없었기 때문에 "최고의"컬렉션을 선택하는 것에 대한 Caleb의 의견이 가장 좋은 아이디어 인 것 같습니다. 하지만 실제로이 작업을 수행하려고하는 경향이 없습니다 (StackExchange 사이트에서 질문을하기위한 전제 조건). 실제로는 "최고"를 선택하는 방법을 묻는 것이 불편합니다. 실제로이 작업을 수행합니다.


답변:


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

나는 파이썬 파일을 썼다. 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가 생성됩니다.


7

시스템의 모든 매뉴얼 페이지의 모든 섹션을 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

Gee, 확실 while하지 않습니까? :)
luser droog

1
@luserdroog : 그렇습니다. 당신은 시스템의 모든 유닉스 매뉴얼 페이지를 한꺼번에 변환하도록 요청한 사람입니다 ! 당신이 정말로 원하는 것이 당신의 여가 시간에 탐색하는 "최고의"모음이라면, 다른 접근법이 순서대로있을 것입니다.
Caleb
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.