Up until now we have covered all the characters used under basic regular expressions (BRE). Here, we'll go over extended regular expressions (ERE), which can be used with
Here is a list of similarities and differences between ERE's and BRE's:
Rather than symbols for backreferences, parentheses in ERE are used for groupings. This allows you to specify groups of text as regular expressions, which is helpful for metacharacters to reference a group of previous regex.
For example, (toy)* would select the letters toy zero or many times.
There are three extended metacharacters that ERE offers.
The ? matches zero or one of the preceding regex.
The plus symbol (+) is used to match one or more of the preceding regex. It's very similar to the asterisk (*), but allows for no NUL values.
$ ls /usr/bin | grep -E '[[:alpha:]][[:digit:]]+[[:alpha:]]' enc2xs5.16 enc2xs5.18 eqn2graph find2perl find2perl5.16 find2perl5.18 grap2graph h2ph h2ph5.16 h2ph5.18 h2xs h2xs5.16 h2xs5.18 hdxml2manxml headerdoc2html ip2cc
This would select all text with a letter, followed by one or more digits, then another letter. We could have gotten the same result with [[:alpha:]][[:digit:]][[:digit:]]*[[:alpha:]] but the previous example looks must cleaner.
Alternations give you the flexibility of choosing between two or more regex expressions.
$ ls /usr/bin/ | grep -E 'zip|pod|enc'
bunzip2 bzip2 bzip2recover enc2xs enc2xs5.16 enc2xs5.18 encode_keychange funzip gencat gunzip gzip latency pod2html pod2html5.16 podchecker5.18 podselect podselect5.16 podselect5.18 unzip unzipsfx uuencode weblatency.d zip zipcloak zipdetails zipdetails5.16 zipdetails5.18 zipgrep zipinfo zipnote zipsplit
Ever feel achy from sitting crunched up on your computer table? Try lying down with these optical glasses that allow you to work on your laptop while lying flat on your back. This is the perfect solution with those with limited mobility or those who wish to prevent neck cramps and back strains.$ Check price
Command Line Kung Fu is packed with dozens of tips and practical real-world examples. You won't find theoretical examples in this book. The examples demonstrate how to solve actual problems. The tactics are easy to find, too. Each chapter covers a specific topic and groups related tips and examples together.$ Check price