bash find and replace

Here is how you can replace a text in a file using bash script. You can use the sed command as below to replace the text.

sed -i 's/old-word/new-word/g' sample.txt

In above example you can find the word ‘old-word‘ in file sample.txt and replace it with word ‘new-word‘.

You need to escape ‘/’ character in your words. Here is an example,

sed -i 's/a word with \/ character/replaced word/g' sample.txt

Here is sample output using above code,

original > This file has a word with / character
replaced > This file has replaced word

If you need to create a new file with replaced words you can use following command,

sed -i 's/old-word/new-word/g' sample.txt > sample2.txt

Above code will create a new file with replaced words. This will be helpful if you want to keep the original file untouched.

About the Author

Sadupa Wijeratne

Sadupa Wijeratne is the founder of My Cute Blog. Currently working as a software engineer. Interested about latest technologies and love to learn by experience.

View All Articles