man 명령어의 출력을 파일에 저장해서 에디터로 읽거나 공유하고 싶을 때가 있다. 단순히 리다이렉트하면 제어 문자가 섞이므로 적절한 후처리가 필요하다.
col -b 사용하기
man <명령어> | col -b > <파일명>.txt사용 예시
man ls | col -b > ls_manual.txt이제 일반 텍스트 에디터로 열어도 깨지지 않는 플레인 텍스트가 된다.
왜 일반적인 리다이렉션은 안 되는가
man ls > ls_bad.txt위와 같이 저장하면 man이 꾸미기(볼드나 밑줄)에 사용하는 백스페이스 등의 제어 문자(^H 등)가 그대로 파일에 출력된다. less 이외의 에디터에서 열어보기 어렵다.
col -b는 이를 필터링하여 보이는 그대로의 텍스트만 남겨준다.
PDF로 저장
인쇄용 등 PDF가 필요한 경우 PostScript를 거친다.
macOS
man -t ls | pstopdf -i -o ls_manual.pdfLinux
man -t ls > ls.psps2pdf ls.ps ls_manual.pdf-t 옵션으로 PostScript 형식으로 출력한 뒤 PDF로 변환한다.
옵션 요약
| 방법 | 명령어 | 용도 |
|---|---|---|
| 플레인 텍스트 | man … | col -b |
| man -t … | pstopdf | |
| HTML | man2html | 브라우저 표시 |
개인적으로는 플레인 텍스트가 가장 쓰기 편하다. 검색이나 가공이 간단하다.
hsb.horse