Q:

How to Find and Replace Text Within a File Using Command Line in Ubuntu

0

How to Find and Replace Text Within a File Using Command Line in Ubuntu

All Answers

need an explanation for this answer? contact us directly to get an explanation for this answer

Use the sed Utility

The sed utility is a stream editor that can be used to read or edit one or more text files.

You can use the following syntax to find and replace text within a file using terminal in Ubuntu.

sed -i 's/original/new/gi' filename.txt

The option -i (in-place) tells sed to write the changes to the original file.

The substitution expression have the following meanings:

  • s : The beginning of the substitution expression.
  • original : Represents the word or substring to replace (can also be a regular expression).
  • new : Represents the replacement word or substring.
  • g : Represent global i.e. replace all occurrences.
  • i : Represent ignoreCase i.e. case-insensitive search and replacement.

For example, let's consider your current working directory is /var/www and you've a text file named "sample.txt" inside it, which just contains the text "Twinkle Twinkle Little Star".

Now if you want to replace every occurrence of the word "Twinkle" with the word "Shiny" in the "sample.txt" file, you can simply use the following sed command.

sed -i 's/Twinkle/Shiny/gi' sample.txt

Or, if you prefer absolute path you can run the following command.

sed -i 's/Twinkle/Shiny/gi' /var/www/sample.txt

Both commands will have the same effect, because current working directory doesn't matter when you use absolute path. Any path that starts with a forward slash / is an absolute path.

need an explanation for this answer? contact us directly to get an explanation for this answer

total answers (1)

This question belongs to these collections

Similar questions


need a help?


find thousands of online teachers now