annotate bin/ix.sh @ 92:d56465d5c51f

accepts index lines, less line-at-a-time
author Henry S. Thompson <ht@inf.ed.ac.uk>
date Wed, 14 Apr 2021 20:15:32 +0000
parents 82c94684f799
children 4d870a7ec871
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
88
Henry S. Thompson <ht@inf.ed.ac.uk>
parents:
diff changeset
1 #!/usr/bin/bash
92
d56465d5c51f accepts index lines, less line-at-a-time
Henry S. Thompson <ht@inf.ed.ac.uk>
parents: 91
diff changeset
2 # Extract records from warc files given length, offset and file triples
88
Henry S. Thompson <ht@inf.ed.ac.uk>
parents:
diff changeset
3 # from stdin or as command line args
92
d56465d5c51f accepts index lines, less line-at-a-time
Henry S. Thompson <ht@inf.ed.ac.uk>
parents: 91
diff changeset
4 # Usage [-d] [-w] [-h] [-b] [-x] [length offset path]
d56465d5c51f accepts index lines, less line-at-a-time
Henry S. Thompson <ht@inf.ed.ac.uk>
parents: 91
diff changeset
5 # -d Debug output
89
90f8f28b2e51 working on flags
Henry S. Thompson <ht@inf.ed.ac.uk>
parents: 88
diff changeset
6 # -w WARC headers
90f8f28b2e51 working on flags
Henry S. Thompson <ht@inf.ed.ac.uk>
parents: 88
diff changeset
7 # -h HTTP headers
90f8f28b2e51 working on flags
Henry S. Thompson <ht@inf.ed.ac.uk>
parents: 88
diff changeset
8 # -b HTTP body
92
d56465d5c51f accepts index lines, less line-at-a-time
Henry S. Thompson <ht@inf.ed.ac.uk>
parents: 91
diff changeset
9 # No switch defaults to whole record
d56465d5c51f accepts index lines, less line-at-a-time
Henry S. Thompson <ht@inf.ed.ac.uk>
parents: 91
diff changeset
10 # -x take lines of from a cdx index file as input, extract triples
d56465d5c51f accepts index lines, less line-at-a-time
Henry S. Thompson <ht@inf.ed.ac.uk>
parents: 91
diff changeset
11 if [ "$1" = "-d" ]
d56465d5c51f accepts index lines, less line-at-a-time
Henry S. Thompson <ht@inf.ed.ac.uk>
parents: 91
diff changeset
12 then
d56465d5c51f accepts index lines, less line-at-a-time
Henry S. Thompson <ht@inf.ed.ac.uk>
parents: 91
diff changeset
13 d=1
d56465d5c51f accepts index lines, less line-at-a-time
Henry S. Thompson <ht@inf.ed.ac.uk>
parents: 91
diff changeset
14 shift
d56465d5c51f accepts index lines, less line-at-a-time
Henry S. Thompson <ht@inf.ed.ac.uk>
parents: 91
diff changeset
15 fi
89
90f8f28b2e51 working on flags
Henry S. Thompson <ht@inf.ed.ac.uk>
parents: 88
diff changeset
16 if [ "$1" = "-w" ]
90f8f28b2e51 working on flags
Henry S. Thompson <ht@inf.ed.ac.uk>
parents: 88
diff changeset
17 then
90f8f28b2e51 working on flags
Henry S. Thompson <ht@inf.ed.ac.uk>
parents: 88
diff changeset
18 shift
90f8f28b2e51 working on flags
Henry S. Thompson <ht@inf.ed.ac.uk>
parents: 88
diff changeset
19 p=1
90f8f28b2e51 working on flags
Henry S. Thompson <ht@inf.ed.ac.uk>
parents: 88
diff changeset
20 w=1
90f8f28b2e51 working on flags
Henry S. Thompson <ht@inf.ed.ac.uk>
parents: 88
diff changeset
21 fi
90f8f28b2e51 working on flags
Henry S. Thompson <ht@inf.ed.ac.uk>
parents: 88
diff changeset
22 if [ "$1" = "-h" ]
90f8f28b2e51 working on flags
Henry S. Thompson <ht@inf.ed.ac.uk>
parents: 88
diff changeset
23 then
90f8f28b2e51 working on flags
Henry S. Thompson <ht@inf.ed.ac.uk>
parents: 88
diff changeset
24 shift
90f8f28b2e51 working on flags
Henry S. Thompson <ht@inf.ed.ac.uk>
parents: 88
diff changeset
25 p=1
90f8f28b2e51 working on flags
Henry S. Thompson <ht@inf.ed.ac.uk>
parents: 88
diff changeset
26 h=1
90f8f28b2e51 working on flags
Henry S. Thompson <ht@inf.ed.ac.uk>
parents: 88
diff changeset
27 fi
90f8f28b2e51 working on flags
Henry S. Thompson <ht@inf.ed.ac.uk>
parents: 88
diff changeset
28 if [ "$1" = "-b" ]
90f8f28b2e51 working on flags
Henry S. Thompson <ht@inf.ed.ac.uk>
parents: 88
diff changeset
29 then
90f8f28b2e51 working on flags
Henry S. Thompson <ht@inf.ed.ac.uk>
parents: 88
diff changeset
30 shift
90f8f28b2e51 working on flags
Henry S. Thompson <ht@inf.ed.ac.uk>
parents: 88
diff changeset
31 p=1
90f8f28b2e51 working on flags
Henry S. Thompson <ht@inf.ed.ac.uk>
parents: 88
diff changeset
32 b=1
90f8f28b2e51 working on flags
Henry S. Thompson <ht@inf.ed.ac.uk>
parents: 88
diff changeset
33 fi
92
d56465d5c51f accepts index lines, less line-at-a-time
Henry S. Thompson <ht@inf.ed.ac.uk>
parents: 91
diff changeset
34 if [ "$1" = "-x" ]
d56465d5c51f accepts index lines, less line-at-a-time
Henry S. Thompson <ht@inf.ed.ac.uk>
parents: 91
diff changeset
35 then
d56465d5c51f accepts index lines, less line-at-a-time
Henry S. Thompson <ht@inf.ed.ac.uk>
parents: 91
diff changeset
36 # get triples from index lines
d56465d5c51f accepts index lines, less line-at-a-time
Henry S. Thompson <ht@inf.ed.ac.uk>
parents: 91
diff changeset
37 egrep -ao 'length": "[0-9]*", "offset": "[0-9]*".*\.gz'| \
d56465d5c51f accepts index lines, less line-at-a-time
Henry S. Thompson <ht@inf.ed.ac.uk>
parents: 91
diff changeset
38 sed 's/[a-z]*": "//g;s/", "/\t/g;s/\(crawl-data\|segments\|warc\)\///g' |\
d56465d5c51f accepts index lines, less line-at-a-time
Henry S. Thompson <ht@inf.ed.ac.uk>
parents: 91
diff changeset
39 if [ "$d" ] ; then tee /tmp/ix_triples.tsv ; else cat ; fi
d56465d5c51f accepts index lines, less line-at-a-time
Henry S. Thompson <ht@inf.ed.ac.uk>
parents: 91
diff changeset
40 elif [ "$1" ]
88
Henry S. Thompson <ht@inf.ed.ac.uk>
parents:
diff changeset
41 then
Henry S. Thompson <ht@inf.ed.ac.uk>
parents:
diff changeset
42 printf "%s\t%s\t%s\n" "$1" "$2" "$3"
Henry S. Thompson <ht@inf.ed.ac.uk>
parents:
diff changeset
43 else
Henry S. Thompson <ht@inf.ed.ac.uk>
parents:
diff changeset
44 cat
Henry S. Thompson <ht@inf.ed.ac.uk>
parents:
diff changeset
45 fi | \
92
d56465d5c51f accepts index lines, less line-at-a-time
Henry S. Thompson <ht@inf.ed.ac.uk>
parents: 91
diff changeset
46 while { IFS=$'\t' read l o f; }
88
Henry S. Thompson <ht@inf.ed.ac.uk>
parents:
diff changeset
47 do
92
d56465d5c51f accepts index lines, less line-at-a-time
Henry S. Thompson <ht@inf.ed.ac.uk>
parents: 91
diff changeset
48 if [ -z "$d" ]
d56465d5c51f accepts index lines, less line-at-a-time
Henry S. Thompson <ht@inf.ed.ac.uk>
parents: 91
diff changeset
49 then
d56465d5c51f accepts index lines, less line-at-a-time
Henry S. Thompson <ht@inf.ed.ac.uk>
parents: 91
diff changeset
50 dd if="$f" of=/dev/stdout skip=$o count=$l \
d56465d5c51f accepts index lines, less line-at-a-time
Henry S. Thompson <ht@inf.ed.ac.uk>
parents: 91
diff changeset
51 iflag=skip_bytes,count_bytes 2>/dev/null
d56465d5c51f accepts index lines, less line-at-a-time
Henry S. Thompson <ht@inf.ed.ac.uk>
parents: 91
diff changeset
52 else
d56465d5c51f accepts index lines, less line-at-a-time
Henry S. Thompson <ht@inf.ed.ac.uk>
parents: 91
diff changeset
53 echo dd if="$f" of=/dev/stdout skip=$o count=$l \
d56465d5c51f accepts index lines, less line-at-a-time
Henry S. Thompson <ht@inf.ed.ac.uk>
parents: 91
diff changeset
54 iflag=skip_bytes,count_bytes > /tmp/ix_dd_log.txt
d56465d5c51f accepts index lines, less line-at-a-time
Henry S. Thompson <ht@inf.ed.ac.uk>
parents: 91
diff changeset
55 dd if="$f" of=/dev/stdout skip=$o count=$l \
d56465d5c51f accepts index lines, less line-at-a-time
Henry S. Thompson <ht@inf.ed.ac.uk>
parents: 91
diff changeset
56 iflag=skip_bytes,count_bytes 2>> /tmp/ix_dd_log.txt
d56465d5c51f accepts index lines, less line-at-a-time
Henry S. Thompson <ht@inf.ed.ac.uk>
parents: 91
diff changeset
57 fi | \
d56465d5c51f accepts index lines, less line-at-a-time
Henry S. Thompson <ht@inf.ed.ac.uk>
parents: 91
diff changeset
58 unpigz -dp 1 -c | tee /tmp/data | \
90
5384208a0834 -w and -h working
Henry S. Thompson <ht@inf.ed.ac.uk>
parents: 89
diff changeset
59 { s="w"
92
d56465d5c51f accepts index lines, less line-at-a-time
Henry S. Thompson <ht@inf.ed.ac.uk>
parents: 91
diff changeset
60 if [ "$p" ]
89
90f8f28b2e51 working on flags
Henry S. Thompson <ht@inf.ed.ac.uk>
parents: 88
diff changeset
61 then
91
82c94684f799 working with one input
Henry S. Thompson <ht@inf.ed.ac.uk>
parents: 90
diff changeset
62 shopt -qs extglob # for %%*(...)
89
90f8f28b2e51 working on flags
Henry S. Thompson <ht@inf.ed.ac.uk>
parents: 88
diff changeset
63 while read -r L
90f8f28b2e51 working on flags
Henry S. Thompson <ht@inf.ed.ac.uk>
parents: 88
diff changeset
64 do
90f8f28b2e51 working on flags
Henry S. Thompson <ht@inf.ed.ac.uk>
parents: 88
diff changeset
65 if [ "$s" = "w" ]
90f8f28b2e51 working on flags
Henry S. Thompson <ht@inf.ed.ac.uk>
parents: 88
diff changeset
66 then
90f8f28b2e51 working on flags
Henry S. Thompson <ht@inf.ed.ac.uk>
parents: 88
diff changeset
67 # WARC header
92
d56465d5c51f accepts index lines, less line-at-a-time
Henry S. Thompson <ht@inf.ed.ac.uk>
parents: 91
diff changeset
68 case "$L" in
d56465d5c51f accepts index lines, less line-at-a-time
Henry S. Thompson <ht@inf.ed.ac.uk>
parents: 91
diff changeset
69 Content-Length:\ *) wl=${L##*: }
d56465d5c51f accepts index lines, less line-at-a-time
Henry S. Thompson <ht@inf.ed.ac.uk>
parents: 91
diff changeset
70 wl=${wl%%*([ [:space:]])}
d56465d5c51f accepts index lines, less line-at-a-time
Henry S. Thompson <ht@inf.ed.ac.uk>
parents: 91
diff changeset
71 ;;
d56465d5c51f accepts index lines, less line-at-a-time
Henry S. Thompson <ht@inf.ed.ac.uk>
parents: 91
diff changeset
72 WARC-Truncated:\ *) # echo $n $L
d56465d5c51f accepts index lines, less line-at-a-time
Henry S. Thompson <ht@inf.ed.ac.uk>
parents: 91
diff changeset
73 tr=${L##*: }
d56465d5c51f accepts index lines, less line-at-a-time
Henry S. Thompson <ht@inf.ed.ac.uk>
parents: 91
diff changeset
74 tr=${tr%%*([ [:space:]])}
d56465d5c51f accepts index lines, less line-at-a-time
Henry S. Thompson <ht@inf.ed.ac.uk>
parents: 91
diff changeset
75 tr=${tr:-EMPTY}
d56465d5c51f accepts index lines, less line-at-a-time
Henry S. Thompson <ht@inf.ed.ac.uk>
parents: 91
diff changeset
76 ;;
d56465d5c51f accepts index lines, less line-at-a-time
Henry S. Thompson <ht@inf.ed.ac.uk>
parents: 91
diff changeset
77 ) s="h"
d56465d5c51f accepts index lines, less line-at-a-time
Henry S. Thompson <ht@inf.ed.ac.uk>
parents: 91
diff changeset
78 if [ -z "$h$b" ]
d56465d5c51f accepts index lines, less line-at-a-time
Henry S. Thompson <ht@inf.ed.ac.uk>
parents: 91
diff changeset
79 then
d56465d5c51f accepts index lines, less line-at-a-time
Henry S. Thompson <ht@inf.ed.ac.uk>
parents: 91
diff changeset
80 exit 0
d56465d5c51f accepts index lines, less line-at-a-time
Henry S. Thompson <ht@inf.ed.ac.uk>
parents: 91
diff changeset
81 fi
d56465d5c51f accepts index lines, less line-at-a-time
Henry S. Thompson <ht@inf.ed.ac.uk>
parents: 91
diff changeset
82 if [ "$w" ]
d56465d5c51f accepts index lines, less line-at-a-time
Henry S. Thompson <ht@inf.ed.ac.uk>
parents: 91
diff changeset
83 then
d56465d5c51f accepts index lines, less line-at-a-time
Henry S. Thompson <ht@inf.ed.ac.uk>
parents: 91
diff changeset
84 echo
d56465d5c51f accepts index lines, less line-at-a-time
Henry S. Thompson <ht@inf.ed.ac.uk>
parents: 91
diff changeset
85 fi
d56465d5c51f accepts index lines, less line-at-a-time
Henry S. Thompson <ht@inf.ed.ac.uk>
parents: 91
diff changeset
86 continue;;
d56465d5c51f accepts index lines, less line-at-a-time
Henry S. Thompson <ht@inf.ed.ac.uk>
parents: 91
diff changeset
87 esac
d56465d5c51f accepts index lines, less line-at-a-time
Henry S. Thompson <ht@inf.ed.ac.uk>
parents: 91
diff changeset
88 if [ "$w" ]
89
90f8f28b2e51 working on flags
Henry S. Thompson <ht@inf.ed.ac.uk>
parents: 88
diff changeset
89 then
90f8f28b2e51 working on flags
Henry S. Thompson <ht@inf.ed.ac.uk>
parents: 88
diff changeset
90 printf "%s\n" "${L%% }"
90f8f28b2e51 working on flags
Henry S. Thompson <ht@inf.ed.ac.uk>
parents: 88
diff changeset
91 fi
90f8f28b2e51 working on flags
Henry S. Thompson <ht@inf.ed.ac.uk>
parents: 88
diff changeset
92 continue
90f8f28b2e51 working on flags
Henry S. Thompson <ht@inf.ed.ac.uk>
parents: 88
diff changeset
93 fi
90
5384208a0834 -w and -h working
Henry S. Thompson <ht@inf.ed.ac.uk>
parents: 89
diff changeset
94 if [ "$s" = "h" ]
89
90f8f28b2e51 working on flags
Henry S. Thompson <ht@inf.ed.ac.uk>
parents: 88
diff changeset
95 then
90f8f28b2e51 working on flags
Henry S. Thompson <ht@inf.ed.ac.uk>
parents: 88
diff changeset
96 # HTTP header
92
d56465d5c51f accepts index lines, less line-at-a-time
Henry S. Thompson <ht@inf.ed.ac.uk>
parents: 91
diff changeset
97 wl=$((wl - ( ${#L} + 1 )))
89
90f8f28b2e51 working on flags
Henry S. Thompson <ht@inf.ed.ac.uk>
parents: 88
diff changeset
98 case "$L" in
92
d56465d5c51f accepts index lines, less line-at-a-time
Henry S. Thompson <ht@inf.ed.ac.uk>
parents: 91
diff changeset
99 Content-Length:\ *) bl=${L##*: }
d56465d5c51f accepts index lines, less line-at-a-time
Henry S. Thompson <ht@inf.ed.ac.uk>
parents: 91
diff changeset
100 bl=${bl%%*([ [:space:]])}
d56465d5c51f accepts index lines, less line-at-a-time
Henry S. Thompson <ht@inf.ed.ac.uk>
parents: 91
diff changeset
101 ;;
d56465d5c51f accepts index lines, less line-at-a-time
Henry S. Thompson <ht@inf.ed.ac.uk>
parents: 91
diff changeset
102 X-Crawler-Content-Length:\ *) xl=${L##*: } # introduced btw 2015&2018???
d56465d5c51f accepts index lines, less line-at-a-time
Henry S. Thompson <ht@inf.ed.ac.uk>
parents: 91
diff changeset
103 xl=${xl%%*([ [:space:]])}
d56465d5c51f accepts index lines, less line-at-a-time
Henry S. Thompson <ht@inf.ed.ac.uk>
parents: 91
diff changeset
104 ;;
91
82c94684f799 working with one input
Henry S. Thompson <ht@inf.ed.ac.uk>
parents: 90
diff changeset
105 ) s="b" ; n=0
92
d56465d5c51f accepts index lines, less line-at-a-time
Henry S. Thompson <ht@inf.ed.ac.uk>
parents: 91
diff changeset
106 if [ -z "$b" ]
d56465d5c51f accepts index lines, less line-at-a-time
Henry S. Thompson <ht@inf.ed.ac.uk>
parents: 91
diff changeset
107 then
d56465d5c51f accepts index lines, less line-at-a-time
Henry S. Thompson <ht@inf.ed.ac.uk>
parents: 91
diff changeset
108 exit 0
d56465d5c51f accepts index lines, less line-at-a-time
Henry S. Thompson <ht@inf.ed.ac.uk>
parents: 91
diff changeset
109 fi
d56465d5c51f accepts index lines, less line-at-a-time
Henry S. Thompson <ht@inf.ed.ac.uk>
parents: 91
diff changeset
110 if [ "$h" ]
91
82c94684f799 working with one input
Henry S. Thompson <ht@inf.ed.ac.uk>
parents: 90
diff changeset
111 then
82c94684f799 working with one input
Henry S. Thompson <ht@inf.ed.ac.uk>
parents: 90
diff changeset
112 echo
82c94684f799 working with one input
Henry S. Thompson <ht@inf.ed.ac.uk>
parents: 90
diff changeset
113 fi
92
d56465d5c51f accepts index lines, less line-at-a-time
Henry S. Thompson <ht@inf.ed.ac.uk>
parents: 91
diff changeset
114 if [ "$xl" ]; then
d56465d5c51f accepts index lines, less line-at-a-time
Henry S. Thompson <ht@inf.ed.ac.uk>
parents: 91
diff changeset
115 bl=$xl
d56465d5c51f accepts index lines, less line-at-a-time
Henry S. Thompson <ht@inf.ed.ac.uk>
parents: 91
diff changeset
116 xx=x
d56465d5c51f accepts index lines, less line-at-a-time
Henry S. Thompson <ht@inf.ed.ac.uk>
parents: 91
diff changeset
117 else
d56465d5c51f accepts index lines, less line-at-a-time
Henry S. Thompson <ht@inf.ed.ac.uk>
parents: 91
diff changeset
118 unset xx
d56465d5c51f accepts index lines, less line-at-a-time
Henry S. Thompson <ht@inf.ed.ac.uk>
parents: 91
diff changeset
119 fi
d56465d5c51f accepts index lines, less line-at-a-time
Henry S. Thompson <ht@inf.ed.ac.uk>
parents: 91
diff changeset
120 if [ "$bl" ]; then
d56465d5c51f accepts index lines, less line-at-a-time
Henry S. Thompson <ht@inf.ed.ac.uk>
parents: 91
diff changeset
121 if [ $bl -ne $wl ]; then
d56465d5c51f accepts index lines, less line-at-a-time
Henry S. Thompson <ht@inf.ed.ac.uk>
parents: 91
diff changeset
122 echo length mismatch$xx: $f $o $l here: $wl given: $bl trunc: $tr 1>&2
d56465d5c51f accepts index lines, less line-at-a-time
Henry S. Thompson <ht@inf.ed.ac.uk>
parents: 91
diff changeset
123 fi
d56465d5c51f accepts index lines, less line-at-a-time
Henry S. Thompson <ht@inf.ed.ac.uk>
parents: 91
diff changeset
124 fi
91
82c94684f799 working with one input
Henry S. Thompson <ht@inf.ed.ac.uk>
parents: 90
diff changeset
125 continue ;;
89
90f8f28b2e51 working on flags
Henry S. Thompson <ht@inf.ed.ac.uk>
parents: 88
diff changeset
126 esac
92
d56465d5c51f accepts index lines, less line-at-a-time
Henry S. Thompson <ht@inf.ed.ac.uk>
parents: 91
diff changeset
127 if [ "$h" ]
89
90f8f28b2e51 working on flags
Henry S. Thompson <ht@inf.ed.ac.uk>
parents: 88
diff changeset
128 then
90f8f28b2e51 working on flags
Henry S. Thompson <ht@inf.ed.ac.uk>
parents: 88
diff changeset
129 printf "%s\n" "${L%% }"
90f8f28b2e51 working on flags
Henry S. Thompson <ht@inf.ed.ac.uk>
parents: 88
diff changeset
130 fi
90f8f28b2e51 working on flags
Henry S. Thompson <ht@inf.ed.ac.uk>
parents: 88
diff changeset
131 continue
90f8f28b2e51 working on flags
Henry S. Thompson <ht@inf.ed.ac.uk>
parents: 88
diff changeset
132 else
90f8f28b2e51 working on flags
Henry S. Thompson <ht@inf.ed.ac.uk>
parents: 88
diff changeset
133 # HTTP body
92
d56465d5c51f accepts index lines, less line-at-a-time
Henry S. Thompson <ht@inf.ed.ac.uk>
parents: 91
diff changeset
134 if [ "$b" ]
89
90f8f28b2e51 working on flags
Henry S. Thompson <ht@inf.ed.ac.uk>
parents: 88
diff changeset
135 then
91
82c94684f799 working with one input
Henry S. Thompson <ht@inf.ed.ac.uk>
parents: 90
diff changeset
136 #printf "%s\n" "$bl" 1>&2
92
d56465d5c51f accepts index lines, less line-at-a-time
Henry S. Thompson <ht@inf.ed.ac.uk>
parents: 91
diff changeset
137 head -c "${bl-$wl}"
d56465d5c51f accepts index lines, less line-at-a-time
Henry S. Thompson <ht@inf.ed.ac.uk>
parents: 91
diff changeset
138 exit 0
89
90f8f28b2e51 working on flags
Henry S. Thompson <ht@inf.ed.ac.uk>
parents: 88
diff changeset
139 else
90f8f28b2e51 working on flags
Henry S. Thompson <ht@inf.ed.ac.uk>
parents: 88
diff changeset
140 break
90f8f28b2e51 working on flags
Henry S. Thompson <ht@inf.ed.ac.uk>
parents: 88
diff changeset
141 fi
90f8f28b2e51 working on flags
Henry S. Thompson <ht@inf.ed.ac.uk>
parents: 88
diff changeset
142 fi
90f8f28b2e51 working on flags
Henry S. Thompson <ht@inf.ed.ac.uk>
parents: 88
diff changeset
143 done
90f8f28b2e51 working on flags
Henry S. Thompson <ht@inf.ed.ac.uk>
parents: 88
diff changeset
144 else
90
5384208a0834 -w and -h working
Henry S. Thompson <ht@inf.ed.ac.uk>
parents: 89
diff changeset
145 # No flags,the whole thing
5384208a0834 -w and -h working
Henry S. Thompson <ht@inf.ed.ac.uk>
parents: 89
diff changeset
146 cat
5384208a0834 -w and -h working
Henry S. Thompson <ht@inf.ed.ac.uk>
parents: 89
diff changeset
147 fi
5384208a0834 -w and -h working
Henry S. Thompson <ht@inf.ed.ac.uk>
parents: 89
diff changeset
148 }
92
d56465d5c51f accepts index lines, less line-at-a-time
Henry S. Thompson <ht@inf.ed.ac.uk>
parents: 91
diff changeset
149 done