Grep1public class Grep1 extends Object A command-line grep-like program. No options, but takes a pattern
and an arbitrary list of text files. |
Fields Summary |
---|
protected RE | patternThe pattern we're looking for | protected BufferedReader | dThe Reader for the current file |
Constructors Summary |
---|
public Grep1(String arg)
// compile the regular expression
pattern = new RE(arg);
|
Methods Summary |
---|
public static void | main(java.lang.String[] argv)Construct a Grep object for each pattern, and run it
on all input files listed in argv.
if (argv.length < 1) {
System.err.println("Usage: Grep1 pattern [filename]");
System.exit(1);
}
Grep1 pg = new Grep1(argv[0]);
if (argv.length == 1)
pg.process(new InputStreamReader(System.in), "(standard input)", false);
else
for (int i=1; i<argv.length; i++) {
pg.process(new FileReader(argv[i]), argv[i], true);
}
| public void | process(java.io.Reader ifile, java.lang.String fileName, boolean printFileName)Do the work of scanning one file
String line;
try {
d = new BufferedReader(ifile);
while ((line = d.readLine()) != null) {
if (pattern.match(line)) {
if (printFileName)
System.out.print(fileName + ": ");
System.out.println(line);
}
}
d.close();
} catch (IOException e) { System.err.println(e); }
|
|