문제는 다음과 같습니다매뉴얼 페이지의 일부만 인쇄하는 방법은 무엇입니까?
현재 저는 이 작업을 수행 zcat manpage.1.gz | vim -
하고 인쇄하고 싶지 않은 모든 항목을 삭제합니다. 그런 다음 groff와 lpr에 전달합니다. 더 좋은 방법이 있나요?
답변1
man 문서를 쉽게 인쇄하려면 일반적으로 그래픽 방식으로 인쇄합니다.
man -Hfirefox command
그런 다음 웹 브라우저에서 특정 페이지를 인쇄할 수 있습니다. 이는 명령줄을 통하는 것만큼 강력하지는 않지만 실제로 인쇄할 내용을 미리 볼 수 있으므로 올바르게 수행하는 것이 더 쉽습니다. 가로 방향 문서나 이와 유사한 문서를 인쇄하려는 경우 이는 중요할 수 있습니다.
답변2
다음을 수행하면 맨 페이지 전체를 일반 고정 폭 텍스트로 한 번에 인쇄할 수 있다는 것을 알고 있습니다.
man mc | col -b | lpr -P printername
또는 다음을 수행하여 "예쁘게" 인쇄합니다(세리프 글꼴, 굵은 글꼴, 기울임꼴 등).
zcat /usr/share/man/man1/mc.1.gz | groff -man -Tps | lpr -P printername
이는 기본적으로 포스트스크립트 파일을 프린터로 보내기 때문에 다음을 수행하여 포스트스크립트 파일에 저장할 수도 있습니다.
zcat /usr/share/man/man1/mc.1.gz | groff -man -Tps > mc.ps
하지만 특정 페이지, 페이지, 섹션을 쉽게 추출할 수 있는지는 모르겠습니다.
답변3
어때요?
man ls | sed -n "5, 8p;8q" > print_this.txt # get lines 5 to 8
그런 다음 인쇄
lp -d <printer> print_this.txt
(팁: lp의 옵션( -o
) 스위치는 매우 유용합니다!)
하지만 더 좋은 점은 편집기에서 열고 해당 영역을 표시하는 것입니다. 이맥스에서는:
M-x man RET ls
그 다음에
M-x print-region
이렇게 하려면 printer-name
변수를 설정해야 합니다. 또는 lpr 스위치를 사용하십시오. (귀하가 Emacs를 사용하지 않는 것으로 알고 있지만 이는 확실히 귀하의 편집기에서도 가능합니다.)