|
|
1.1 root 1: #include <stdio.h>
2: /*
3: COLRM removes unwanted columns from a file
4: Jeff Schriebman UC Berkeley 11-74
5: */
6:
7:
8: main(argc,argv)
9: char **argv;
10: {
11: int first;
12: register ct,last;
13: register char c;
14: char buffer[512];
15:
16: setbuf(stdout, buffer);
17: first = 20000;
18: last = -1;
19: if (argc>1) {
20: first = getn(*++argv);
21: last = 20000;
22: }
23: if (argc>2)
24: last = getn(*++argv);
25:
26: start:
27: ct = 0;
28: loop1:
29: if ((c=getc(stdin))<0)
30: goto fin;
31: ct++;
32: if (c=='\n') {
33: putc(c,stdout);
34: goto start;
35: }
36: if (ct<first) {
37: putc(c,stdout);
38: goto loop1;
39: }
40:
41: /* Loop getting rid of characters */
42: for (;ct<last;ct++) {
43: if ((c=getc(stdin))<0)
44: goto fin;
45: if (c=='\n') {
46: putc(c,stdout);
47: goto start;
48: }
49: }
50:
51: /* Output last of the line */
52: while ((c=getc(stdin))>0) {
53: putc(c,stdout);
54: if (c=='\n')
55: goto start;
56: }
57: fin:
58: fflush(stdout);
59: }
60:
61: getn(ap)
62: char *ap;
63: {
64: register int n,c;
65: register char *p;
66:
67: p = ap;
68: n = 0;
69: while ((c = *p++) >= '0' && c <= '9')
70: n = n*10 + c - '0';
71: return(n);
72: }
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.