2008년 1월 21일 월요일

RFC나 인터넷 드래프트를 PS로 변환하는 스크립트

RFC나 인터넷 드래프트(internet draft)는 흔히 텍스트 파일로 되어 있는데, 이것을 PS(PostScript) 파일로 변경하는 스크립트를 소개한다. 리눅스에는 보통 a2ps라는 텍스트 파일을 ps로 변경하는 명령어가 있는데, 이를 활용하여 rfc2ps 파일을 만들어 보자. (참고로, RFC는 알판란님의 포스팅에 소개된 것처럼 IETF에서 직접 PDF를 다운로드할 수도 있다.)

먼저 프롬프트에서 rfc2ps라는 파일을 만들기 위해 다음처럼 입력한다. vi가 익숙치 않은 사람은 다른 에디터를 사용해도 무방하다.

PROMPT> vi rfc2ps

파일에 다음과 같이 입력한다. 원하는 옵션에 따라 OPTIONS의 첫 줄에 있는 #을 삭제하여 출력 옵션을 변경할 수 있다.

#!/bin/bash
MINPARAMS=1
OPTIONS="-B --borders=no -1 -l 72" # 1page, no borders
# OPTIONS="-B --borders=yes -1 -l 72" # 1page, borders
# 테두리가 있도록 출력되도록 하기 위해서는 위의 옵션을 사용하면 됨.
#OPTIONS="-B --borders=no -2 -l 72" # 2pages in 1page, no borders
# 테두리가 없고 두 페이지가 한 페이지에 들어가도록 출력하는 옵션

if [ $# -lt $MINPARAMS ]
then
echo "No parameter. Parameter should be rfcxxxx"
exit
fi

a2ps $OPTIONS $1.txt -o $1.ps

rfc2ps 파일에 실행할 수 있는 옵션을 추가한다.

PROMPT> chmod +x rfc2ps

이 커맨드를 사용하여 rfc를 변경할 때는 먼저 변환하기를 원하는 RFC를 다운로드하여 rfcxxxx.txt로 저장하고 다음의 명령어를 입력하면 된다. 확장자인 txt가 없음을 주의하시라.

PROMPT> rfc2ps rfcxxxxx