Let's start by matching a single character. The most obvious way would be to use a literal character for alphabetic letters. If there is a metacharacter that you would like to match, you can escape it with the backslash (\).
$ ls /usr/bin | grep 'c\.d'
creatbyproc.d filebyproc.d newproc.d pidpersec.d runocc.d syscallbyproc.d syscallbysysc.d
Here's a simple regex example. We are looking for patterns that has a c, followed by a period (.), then a d.
From this we can notice two things:
The dot (.) metacharacter matches any single character.
$ ls /usr/bin/ | grep 'c.t'
bzcat codesign_allocate colcrt cut gencat gzcat locate policytool tccutil xmlcatalog ypcat zcat
Notice how a character must be present within between c and t. The dot metacharacter does not allow for the NUL character.
In the next section, we'll learn how to use bracket expansions, which will give you even more power in selecting single characters.
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
The Linux Command Line takes you from your very first terminal keystrokes to writing full programs in Bash, the most popular Linux shell. Along the way you'll learn the timeless skills handed down by generations of gray-bearded, mouse-shunning gurus: file navigation, environment configuration, command chaining, pattern matching with regular expressions, and more.$ Check price