대규모 인쇄 작업을 여러 개의 작은 작업으로 분할

대규모 인쇄 작업을 여러 개의 작은 작업으로 분할

1,000 page document프린터를 사용하여 인쇄 하고 싶다고 가정해 보겠습니다 . 1,000 pages인쇄 작업이 진행 중인 동안에는 다른 작업을 인쇄할 수 없는 것으로 알고 있습니다 .

1,000 pages다른 사용자가 자신의 문서를 인쇄할 때 인쇄할 수 있기를 바랍니다 . 한 가지 접근 방식은 각각 50페이지의 작은 인쇄 작업 20개를 만드는 것입니다. 이 경우 사용자는 더 작은 인쇄 작업 사이에 인쇄 작업을 대기열에 넣을 수 있습니다.

이를 수행할 수 있는 방법이 있습니까? 문서를 수동으로 분할하고 각 부분을 별도로 인쇄할 필요가 없는 자동화된 방법일까요?

답변1

pages.txt다음과 같이 한 번에 인쇄하려는 페이지 범위가 포함된 텍스트 파일을 만들 수 있습니다 .

1-50
51-100
101-150
151-200
. . . .
. . . .

이 명령을 사용 lpr하면 인쇄 명령을 프린터로 보낼 수 있습니다. 이 명령에 대한 자세한 내용은 다음을 확인하세요 lpr.남성.

작업을 자동화하려면 다음을 사용할 수 있습니다.

#!/bin/bash
while IFS= read line 
do

    lpr -P <my_printer_name> -o page-ranges=$line
    sleep 10

done <pages.txt

인쇄 사이의 시간 간격을 설정하려면 sleepafter 명령을 사용할 수 있습니다 lpr( sleep 10이전 bash의 초 수와 유사).

인쇄 작업이 완료되었을 때 이메일 알림을 받으려면 mail다음 작업을 수행한 후 이 명령을 사용할 수 있습니다.done <pages.txt

#!/bin/bash
while IFS= read line 
do

    lpr -P <my_printer_name> -o page-ranges=$line
    sleep 10

done <pages.txt

echo "This is message body" | mail -s "This is Subject" [email protected]

각각의 작은 작업이 완료될 때 알림을 받으려면 command mailafter command lpr및 before command 를 사용할 수 있습니다 sleep.

관련 정보