본문 바로가기

Academy I/Tech Academy

[Linux]pr로 text file page 번호 매기기

pr 명령은 text file이 출력될 때의 form을 쉬운 방법으로 format 해주는데 도움을 줍니다. 이는, word processor나 text editor의 도움을 받지 않고, 임의의 명령 결과를 print하고 싶을 때 유용하게 사용될 수 있습니다.


pr을 사용하여 date, time, 그리고 page 번호 등의 header 정보로 text를 page로 format하도록 해줍니다. 다음의 예를 보십시요.

$ dpkg-query -l | sort | pr --column=2 | less
2010-11-16 18:42                                                  Page 1


+++-=============================== ii  bsdutils
Desired=Unknown/Install/Remove/Purg ii  busybox-initramfs
|/ Err?=(none)/Reinst-required (Sta ii  busybox-static
ii  acpid                           ii  byobu
ii  acpi-support                    ii  bzip2
ii  adduser                         ii  ca-certificates
ii  adium-theme-ubuntu              ii  capplets-data
ii  aisleriot                       ii  cdparanoia
ii  alacarte                        ii  checkbox
ii  alsa-base                       ii  checkbox-gtk
...


위 내용의 화면은 다음과 같습니다.



이 예에서, rpm -qa 명령은 설치된 모든 software package를 나열하고, pipe를 통해 명령을 sort 합니다. 다음 pr 명령으로 pipe되어 단일 column을 2중 column으로 변환하고 page 번호를 메기도록 합니다. 마지막으로 less 명령은 text를 통해 page가 가능토록 합니다.

output을 paging하는 대신, output을 file이나 print로 보낼 수 있습니다. 다음의 예를 보십시요.

$ dpkg-query -l | sort | pr --column=2 > pkg.txt
$ dpkg-query -l | sort | pr --column=2 > | lpr

pr 명령으로 처리할 수 있는 다른 기능은, double-sapcing(-d), 제어 문자(control character) 표시(-c), 왼쪽에 주어진 공백으로 margin을 채우기(-o 5)등이 있습니다.


[출처 : http://greenfishblog.tistory.com/61]