Modify a Text File using Sed
Linux Training Architect II in Content
You are working at a firm that is collecting information about ancient Greece that will be published in a new book. A member of your team has contributed a text file that contains the fable of the "The Ants and the Grasshopper." However, the text is incorrect as all of the instances of the word 'ants' has been replaced with the word 'cows'. You will need to modify this file using a sed command so that the file will have the correct text. All instances of the word 'cows', regardless of case, needs to be replaced with the word 'Ants'. Once you you have accomplished this task, leave the file on the system so that your editor can review your work. NOTE: You only need to ignore case sensitivity on the input, not match case on the output.
Modify a Text File Using
Someone got confused and wrote about cows instead of ants in a text file. We've got to replace all instances of cows and with Ants, regardless of whether or not cows contains any capital letters.
Let's look at the file we're dealing with.
We're going to run a
sed command. The -i means "do this in place," as in don't create another file. The capital
I near the end stands for "case-insensitive" and means that whether cows has any capital letters in it or not, change it to Ants. The
g means do it globally, throughout the whole file. Here is the complete command:
sed -i 's/cows/Ants/Ig' fable.txt
Now if we run our
cat command again, we'll see that all the cows are gone.
sed command is very handy. Congratulations on getting a bit more familiar with it.