2
1
I was wondering what does the <> do in a grep command
grep a b c
, try to finda
in fileb
andc
grep <html> foo
?
What does the <>
do? Find the HTML tags?
2
1
I was wondering what does the <> do in a grep command
grep a b c
, try to find a
in file b
and c
grep <html> foo
?What does the <>
do? Find the HTML tags?
3
When inside quotes...
grep '<html>' foo
grep "<html>" foo
...it does exactly that: find a <html>
tag inside the foo
file.
grep
and egrep
use POSIX regular expressions, which are described in the manual page of regex
(7) – basic for grep
, extended/modern for egrep
. Neither version treats <
or >
specially.
When not inside quotes, however, it doesn't do anything useful.
grep <html> foo
grep < html > foo
Most commonly used shells will treat the above equally: run command grep
with no arguments, reading from file named html
, writing to file named foo
. But this won't work, because there is no "pattern" to be given to grep
, so you'll get an error message (and an empty foo
file).
1Since ricedragon is new to regular expressions, it is worth pointing out that
grep '<html>' foo
will not find<html lang="en">
. It is often better to use an HTML parser for searching HTML. – RedGrittyBrick – 2011-10-04T09:14:05.283