123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960 |
- #!/bin/rc
- # extract pages $OLIST from postscript on stdin
- if(~ $OLIST '')
- exec cat
- awk '
- BEGIN {
- x=ENVIRON["OLIST"];
- gsub(/^-o/, "", x);
- na = split(x, a, ",");
- header = 1;
- goodpage = 0;
- }
- header || goodpage {
- print
- }
- /^%%EndSetup[ ]*$/ { header = 0; next }
- /^%%Page:/ {
- header = 0;
- p=$2+0;
- goodpage = 0;
- for(i=1; i<=na; i++){
- if(aa=match(a[i], "-")){
- low=substr(a[i], 1, RSTART);
- high=substr(a[i], RSTART+RLENGTH);
- if(low == "")
- low = 0;
- else
- low = low+0;
- if(high == "")
- high = 100000;
- else
- high = high+0;
- if(low <= p && p <= high){
- goodpage = 1;
- break;
- }
- }else{
- if(a[i] == p){
- goodpage = 1;
- break;
- }
- }
- }
- }
- /^%%EndPage[ ]*$/ {
- goodpage = 0;
- }
- /^%%Trailer[ ]*$/ {
- goodpage = 1;
- }
- '
|