tpsextract - plan9port - [fork] Plan 9 from user space
(HTM) git clone git://src.adamsgaard.dk/plan9port
(DIR) Log
(DIR) Files
(DIR) Refs
(DIR) README
(DIR) LICENSE
---
tpsextract (793B)
---
1 #!/usr/local/plan9/bin/rc
2
3 # extract pages $OLIST from postscript on stdin
4
5 if(~ $OLIST '')
6 exec cat
7
8 awk '
9 BEGIN {
10 x=ENVIRON["OLIST"];
11 gsub(/^-o/, "", x);
12 na = split(x, a, ",");
13 header = 1;
14 goodpage = 0;
15 }
16
17 header || goodpage {
18 print
19 }
20
21 /^%%EndSetup[ ]*$/ { header = 0; next }
22
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 else
34 low = low+0;
35 if(high == "")
36 high = 100000;
37 else
38 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 }
51
52 /^%%EndPage[ ]*$/ {
53 goodpage = 0;
54 }
55
56 /^%%Trailer[ ]*$/ {
57 goodpage = 1;
58 }
59
60 '