Blob
1 #!/usr/local/plan9/bin/rc3 # extract pages $OLIST from postscript on stdin5 if(~ $OLIST '')6 exec cat8 awk '9 BEGIN {10 x=ENVIRON["OLIST"];11 gsub(/^-o/, "", x);12 na = split(x, a, ",");13 header = 1;14 goodpage = 0;15 }17 header || goodpage {18 print19 }21 /^%%EndSetup[ ]*$/ { header = 0; next }23 /^%%Page:/ {24 header = 0;25 p=$2+0;26 goodpage = 0;27 for(i=1; i<=na; i++){28 if(aa=match(a[i], "-")){29 low=substr(a[i], 1, RSTART);30 high=substr(a[i], RSTART+RLENGTH);31 if(low == "")32 low = 0;33 else34 low = low+0;35 if(high == "")36 high = 100000;37 else38 high = high+0;39 if(low <= p && p <= high){40 goodpage = 1;41 break;42 }43 }else{44 if(a[i] == p){45 goodpage = 1;46 break;47 }48 }49 }50 }52 /^%%EndPage[ ]*$/ {53 goodpage = 0;54 }56 /^%%Trailer[ ]*$/ {57 goodpage = 1;58 }60 '