Sed: one-liner productivity treasure

7 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
€47.39
List Price:  €66.35
You save:  €18.96
£39.48
List Price:  £55.27
You save:  £15.79
CA$69.93
List Price:  CA$97.91
You save:  CA$27.98
A$76.86
List Price:  A$107.61
You save:  A$30.75
S$67.15
List Price:  S$94.02
You save:  S$26.86
HK$389.09
List Price:  HK$544.76
You save:  HK$155.66
CHF 44.28
List Price:  CHF 61.99
You save:  CHF 17.71
NOK kr552.48
List Price:  NOK kr773.52
You save:  NOK kr221.03
DKK kr353.46
List Price:  DKK kr494.87
You save:  DKK kr141.41
NZ$85.02
List Price:  NZ$119.04
You save:  NZ$34.01
د.إ183.61
List Price:  د.إ257.07
You save:  د.إ73.45
৳5,952.52
List Price:  ৳8,334.01
You save:  ৳2,381.48
₹4,217.70
List Price:  ₹5,905.12
You save:  ₹1,687.41
RM223.53
List Price:  RM312.96
You save:  RM89.43
₦83,723.75
List Price:  ₦117,219.95
You save:  ₦33,496.20
₨13,842.48
List Price:  ₨19,380.58
You save:  ₨5,538.10
฿1,735
List Price:  ฿2,429.14
You save:  ฿694.14
₺1,722.82
List Price:  ₺2,412.08
You save:  ₺689.26
B$289.31
List Price:  B$405.06
You save:  B$115.74
R905.17
List Price:  R1,267.31
You save:  R362.14
Лв92.66
List Price:  Лв129.73
You save:  Лв37.07
₩69,838.72
List Price:  ₩97,779.80
You save:  ₩27,941.07
₪186.81
List Price:  ₪261.55
You save:  ₪74.74
₱2,950.38
List Price:  ₱4,130.77
You save:  ₱1,180.39
¥7,786.65
List Price:  ¥10,901.93
You save:  ¥3,115.28
MX$1,010.13
List Price:  MX$1,414.26
You save:  MX$404.13
QR181.66
List Price:  QR254.33
You save:  QR72.67
P677.69
List Price:  P948.83
You save:  P271.13
KSh6,473.70
List Price:  KSh9,063.70
You save:  KSh2,590
E£2,484.50
List Price:  E£3,478.50
You save:  E£994
ብር6,130.69
List Price:  ብር8,583.46
You save:  ብር2,452.76
Kz45,623.90
List Price:  Kz63,877.12
You save:  Kz18,253.21
CLP$48,554.78
List Price:  CLP$67,980.58
You save:  CLP$19,425.80
CN¥362.25
List Price:  CN¥507.18
You save:  CN¥144.93
RD$2,999.87
List Price:  RD$4,200.06
You save:  RD$1,200.18
DA6,670.19
List Price:  DA9,338.81
You save:  DA2,668.61
FJ$113.51
List Price:  FJ$158.92
You save:  FJ$45.41
Q384.54
List Price:  Q538.38
You save:  Q153.84
GY$10,416.21
List Price:  GY$14,583.53
You save:  GY$4,167.31
ISK kr6,885.62
List Price:  ISK kr9,640.42
You save:  ISK kr2,754.80
DH497.67
List Price:  DH696.78
You save:  DH199.10
L909.82
List Price:  L1,273.82
You save:  L364
ден2,912.40
List Price:  ден4,077.60
You save:  ден1,165.19
MOP$399.33
List Price:  MOP$559.09
You save:  MOP$159.76
N$900.58
List Price:  N$1,260.89
You save:  N$360.30
C$1,833.12
List Price:  C$2,566.52
You save:  C$733.39
रु6,730.44
List Price:  रु9,423.16
You save:  रु2,692.71
S/189.03
List Price:  S/264.65
You save:  S/75.62
K200.43
List Price:  K280.62
You save:  K80.18
SAR187.67
List Price:  SAR262.75
You save:  SAR75.08
ZK1,376.04
List Price:  ZK1,926.57
You save:  ZK550.52
L235.82
List Price:  L330.17
You save:  L94.34
Kč1,197.77
List Price:  Kč1,676.98
You save:  Kč479.20
Ft19,418.42
List Price:  Ft27,187.34
You save:  Ft7,768.92
SEK kr549.81
List Price:  SEK kr769.78
You save:  SEK kr219.97
ARS$50,077.77
List Price:  ARS$70,112.88
You save:  ARS$20,035.11
Bs345.44
List Price:  Bs483.65
You save:  Bs138.20
COP$220,323.37
List Price:  COP$308,470.35
You save:  COP$88,146.97
₡25,320.40
List Price:  ₡35,450.59
You save:  ₡10,130.18
L1,258.58
List Price:  L1,762.11
You save:  L503.53
₲387,944.27
List Price:  ₲543,153.02
You save:  ₲155,208.75
$U2,137.07
List Price:  $U2,992.07
You save:  $U855
zł205.58
List Price:  zł287.83
You save:  zł82.25
Already have an account? Log In

Transcript

If a picture is worth 1000 words, then said one liners are definitely worth 1000 lines of code. One of the most feared commands in the Linux CLI is, you guessed it said it's been feared by programmers and sis admins everywhere because of its cryptic usage, but it can serve as a very powerful tool for quickly editing large amounts of data. I have created five files to help demonstrate the power of this awesome tool. The first one is a simple file containing the humble line of text. Orange is the New Black. Let's start by creating a simple stretch command to replace the word black with white.

The first argument of said is the Replace command. It's divided into three parts by three dashes. The first part is as for substitutes The second part is the word to be replaced black in our case. And the third part is the replacement word white. The second argument is the input in our case of file. Okay, now the result will be printed on the screen, and you can see the word Black has been replaced by white.

Our second example, contains yet another line of text, this time with the word black in both upper and lowercase. If we run the same command using this new file, we will see that it replaces only the word that matches the case. If we want to do a case insensitive replace, we will add two more characters to the end of our site Command G and big g means global replace. It's used for replacing all the occurrences in the file. Without this it will only replace The first argument b e means case insensitive search. Here it is.

And as you can see both words have been replaced. If we want to save the results in our file, instead of printing to the screen, we use the E argument which stands for inline replace. In some scenarios, we might also want to save our initial files, just in case we have an error in the set command. To do this, we specify a suffix after E, which will create a backup file. In our case, we will use the dot bak suffix. If we check the content of the file, we can see that the initial file contains the updated text and the backup file contains the original text.

Now, let's To look at a more practical example, let's say we have a shell script that contains multiple variables. And we want to surround our variables with curly brackets. In order to do this we will write as for substitute g for global, meaning replace all occurrences found. dollar slash dollar actually match or string starting with $1 sign. Here dollar needs to be escaped so that it's not confused with the start of Euro anchor. So it's slash dollar.

We will enclose the string following the dollar in parenthesis so that we can reference it in the replaced part of our command. square brackets for specifying a range of characters. A to Z to match all uppercase characters, zero to nine to match all numbers. underline to match underline search plus, which means any character in the square brackets must appear one or multiple types. In the Replace part we use, the dollar sign escaped the curly brackets we want to add, and the string that was previously matched in the parentheses. Seems like in our example, we forgot the opening parenthesis.

Other common scenarios are replacing content in XML or HTML files. Here we have a basic HTML file with a strong text inside. Now we know that the strong text has more semantic value for search engine optimizations. So maybe we want to make our strong tax bureau simple Be bold and manually decide the strong words in the page. For this we say substitute the actual text we are searching for. This will be used again for selecting a piece of text that will be added back.

This means any character found any number of times we want to select everything between the starting strong and the end strong. closing of the tag this we want to keep intact and just add BB and the text that you previously found in the parentheses. Okay. It seems as a foreign language at first but with time, you will understand still need we need to fix a small typo. He is here and as you can see the text was updated correctly the red class still applies to the new tag The old tax is still contained between our tags, which is exactly what we wanted. Besides replacing set can also be used for deleting lines of text.

Our five dot txt file contains all the words from the lorem ipsum text. If we wanted to delete the third line of text, we would issue the command said line ii 3d five point. txt Oh my God, I'm not going to repeat them again. Now we will load the file in vim, and we see that the word is no longer there. If for example, we want to delete the first 10 lines of the file, we simply run this command. Okay.

Now we see that the lines are no longer there. And for our last example, if you Scroll down, we can see multiple empty lines of text. These can be deleted with the following, comma which stands for beginning of line and core end of line, anchor and delete. Reload the file and you'll see that the lines are no longer there. Now, as you can imagine, these have only been some basic examples. The power of set is much greater than this, and there are way more possibilities of using it.

Then what we have seen today, we recommend that you gain a good understanding of the features presented here today, as these are the features you will probably use the most. It's not as complicated as it may seem at first, and it really comes in handy in lots of scenarios.

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.