Basic regular expressions

Linux - The Productive Programmer's Best Friend Productive shells: Reinvent the way you work
6 minutes
Share the link to this page
Copied
  Completed
You need to have access to the item to view this lesson.
One-time Fee
$49.99
List Price:  $69.99
You save:  $20
€46.40
List Price:  €64.96
You save:  €18.56
£39.83
List Price:  £55.77
You save:  £15.93
CA$68.34
List Price:  CA$95.68
You save:  CA$27.34
A$75.73
List Price:  A$106.02
You save:  A$30.29
S$67.43
List Price:  S$94.41
You save:  S$26.98
HK$390.55
List Price:  HK$546.80
You save:  HK$156.25
CHF 45.24
List Price:  CHF 63.34
You save:  CHF 18.10
NOK kr543.62
List Price:  NOK kr761.11
You save:  NOK kr217.49
DKK kr346.42
List Price:  DKK kr485.02
You save:  DKK kr138.59
NZ$83.15
List Price:  NZ$116.42
You save:  NZ$33.26
د.إ183.60
List Price:  د.إ257.06
You save:  د.إ73.45
৳5,471.12
List Price:  ৳7,660.01
You save:  ৳2,188.88
₹4,168.17
List Price:  ₹5,835.78
You save:  ₹1,667.60
RM236.95
List Price:  RM331.75
You save:  RM94.80
₦61,737.65
List Price:  ₦86,437.65
You save:  ₦24,700
₨13,868
List Price:  ₨19,416.31
You save:  ₨5,548.31
฿1,837.56
List Price:  ฿2,572.74
You save:  ฿735.17
₺1,617.36
List Price:  ₺2,264.43
You save:  ₺647.07
B$254.77
List Price:  B$356.70
You save:  B$101.93
R925.26
List Price:  R1,295.44
You save:  R370.18
Лв90.75
List Price:  Лв127.05
You save:  Лв36.30
₩67,788.68
List Price:  ₩94,909.58
You save:  ₩27,120.90
₪185.35
List Price:  ₪259.50
You save:  ₪74.15
₱2,852.60
List Price:  ₱3,993.87
You save:  ₱1,141.27
¥7,651.21
List Price:  ¥10,712.31
You save:  ¥3,061.10
MX$848.45
List Price:  MX$1,187.89
You save:  MX$339.44
QR181.83
List Price:  QR254.57
You save:  QR72.74
P679.12
List Price:  P950.82
You save:  P271.70
KSh6,605.16
List Price:  KSh9,247.76
You save:  KSh2,642.59
E£2,394.23
List Price:  E£3,352.12
You save:  E£957.88
ብር2,861.57
List Price:  ብር4,006.43
You save:  ብር1,144.85
Kz41,791.64
List Price:  Kz58,511.64
You save:  Kz16,720
CLP$47,104.79
List Price:  CLP$65,950.47
You save:  CLP$18,845.68
CN¥361.78
List Price:  CN¥506.53
You save:  CN¥144.74
RD$2,896.80
List Price:  RD$4,055.76
You save:  RD$1,158.95
DA6,728.30
List Price:  DA9,420.16
You save:  DA2,691.86
FJ$112.64
List Price:  FJ$157.70
You save:  FJ$45.06
Q387.49
List Price:  Q542.52
You save:  Q155.02
GY$10,429.06
List Price:  GY$14,601.52
You save:  GY$4,172.46
ISK kr6,974.05
List Price:  ISK kr9,764.23
You save:  ISK kr2,790.17
DH502.81
List Price:  DH703.98
You save:  DH201.16
L883.05
List Price:  L1,236.34
You save:  L353.29
ден2,855.97
List Price:  ден3,998.59
You save:  ден1,142.61
MOP$401.24
List Price:  MOP$561.77
You save:  MOP$160.53
N$922.79
List Price:  N$1,291.99
You save:  N$369.19
C$1,835.15
List Price:  C$2,569.36
You save:  C$734.20
रु6,656.11
List Price:  रु9,319.09
You save:  रु2,662.97
S/186.09
List Price:  S/260.54
You save:  S/74.45
K192.70
List Price:  K269.79
You save:  K77.09
SAR187.49
List Price:  SAR262.50
You save:  SAR75.01
ZK1,344.69
List Price:  ZK1,882.68
You save:  ZK537.98
L230.99
List Price:  L323.40
You save:  L92.41
Kč1,163.34
List Price:  Kč1,628.77
You save:  Kč465.43
Ft18,074.53
List Price:  Ft25,305.79
You save:  Ft7,231.25
SEK kr539.27
List Price:  SEK kr755.02
You save:  SEK kr215.75
ARS$43,903.33
List Price:  ARS$61,468.17
You save:  ARS$17,564.84
Bs345.22
List Price:  Bs483.33
You save:  Bs138.11
COP$194,164.52
List Price:  COP$271,845.87
You save:  COP$77,681.34
₡25,478.72
List Price:  ₡35,672.25
You save:  ₡10,193.53
L1,231.47
List Price:  L1,724.16
You save:  L492.69
₲373,200.63
List Price:  ₲522,510.75
You save:  ₲149,310.11
$U1,910.59
List Price:  $U2,674.97
You save:  $U764.38
zł200.97
List Price:  zł281.37
You save:  zł80.40
Already have an account? Log In

Transcript

You have a problem and you want to solve it with regular expressions. Now you have two problems. This is just one of the many regular expression jokes from the internet. In this lesson, you will learn how regular expressions work. As we will be using them in the next chapters, we have prepared a file for our playground. And if you want to try the grep commands on your own, you can take it from the GitHub repository.

Let's start by opening our text file so we can see its content and then splitting up the screen. So you can see both the file and the command side by side. First of all, the simplest and probably most common regular expression is to find a single word. For this we will use the command grep Joe file dot txt. Jo is a string we are searching for and five are txt is the file where we perform the search. You can see that grep printed The line that contains our string, and the word is highlighted with another color.

This will only match the exact case of the word. So if we use lowercase G, this regex will not work anymore. To do a case insensitive search grep has n minus e option grep minus e Joe file dot txt. If we don't exactly know what characters are in our string, we can use the dot Asterix to match any number of characters. For example, to find a sentence beginning with Word and ending with day, we use the following command. The dot matches any character and the Asterix after dot matches the previous character multiple times.

So any character multiple times here, you can See that it matched the first line in the file. A very common scenario is to find empty lines in a file. For this we use grep carrot, well grep double quotes, carrot, backslash S dollar sign, double codes. File txt, where backslash S stands for space, carrot for the beginning of the line, and the dollar sign for attending. These are called anchors. We have two empty lines with no space.

If we add the space on the lines, it will match the lines containing one space grep can do a neat little trick to count the number of matches. For this we use the C parameter. To find all the lines that have only letters and space use grab open codes Carrots dollar from the beginning of the line to the end. dub, square brackets and Asterix to match a specific specific characters any number of times, and a to z A to Z lowercase for any upper and lowercase letters. If we run the command until here, we get only the first slide. If we add zero to nine and the number, we match another other two lines.

So if we add also if we add backslash s, we also match any space. We also match the empty lies and the all caps line. Here is the command. Oh my god, it's so interesting to read. I don't know how this would sound try to read it sometimes Need to search for something not in the string, in which case, this command will find all the lines that do not have only numeric characters, square brackets, and after them, the carrot sign means that to match all characters that are not inside those brackets, in our case, any non number, it matches any non number. Okay?

The square brackets are markers in our regular expression. If we want to use them in our search string, we have to escape them. So in order to find lines that have content between square brackets do execute this command. This means any line that has characters in square brackets. The same goes for the exclamation mark to find all lines that have the characters x, the exclamation marks execute this command. Now let's have a look at basic said Find and Replace said double quotes as slash Jo slash all search g double quotes file dot txt.

This will replace every occurrence of the string Joe with a string all we will go into more details about set in its own chapter. Regular expressions, just like vim are one of the things a lot of people are afraid of, because it seems complicated to learn in the beginning. Although they might seem cryptic once mastered regular expressions come to your handy companion. They are not limited to your shell, because the syntax is very similar in most programming languages, databases, editors, and any other place that includes searching for strings. We will go into more details about regular expressions in the A chapter dedicated to set

Sign Up

Share

Share with friends, get 20% off
Invite your friends to LearnDesk learning marketplace. For each purchase they make, you get 20% off (upto $10) on your next purchase.