Java Reference
In-Depth Information
1.3.8
No discussion of Linux commands would be complete without mentioning
grep . Grep, an acronym for “generalized regular expression processor,” is a tool
for searching through the contents of a file. It searches not just for fixed
sequences of characters, but can also handle regular expressions.
In its simplest form, grep myClass *.java will search for and display
all lines from the specified files that contain the string myClass . (Recall that
the *.java expansion is done by the shell, listing all the files that end with
.java .)
The first parameter to grep , myClass in the example above, is the string
that you want to search for. But the first nonoption parameter to grep is con-
sidered a regular expression meaning that it can contain special characters for
pattern matching to make for more powerful searches (see Section 2.2.3). Some
of the most common option parameters for grep are listed in Table 1.2.
Here's a quick example:
The grep Command
grep println *.java | grep -v System.out
It will look for every occurrence of println but then exclude those that contain
System.out . Be aware that while it will exclude lines like
System.out.println(msg);
it will also exclude lines like this:
file.println(msg); // I'm not using System.out
It is, after all, just doing string searches.
Table 1.2 Options for grep
Option
Explanation
Ignore upper/lower case differences in its matching.
-i
Only list the filename, not the actual line that matched.
-l
Show the line number where the match was found.
-n
Reverses the meaning of the search—shows every line that does not match the
pattern.
-v
Search WWH ::




Custom Search