Categories: TutorialsUbuntu

Using sed to replace a string in a file

The ‘sed’ command can be used to easily replace all occurrences of one string in a text file, with another string.
For example:

sed -i "s/wordtofind/replacewithword/g" /path/to/file.txt

This command will find all occurrences of “wordtofind” and replace them on the fly with “replacewithword” in the file “/path/to/file.txt”.
The “-i” command switch specifies to edit the file in place, otherwise it will just display the output to the standard output. Run it without the “-i” switch to ensure it runs correctly, and makes the change you want, to prevent accidentally messing up your file.
You can also replace the whole line depending on your regular expression.
For

Sponsored
example:
sed -i "s/^myhostname.*/myhostname = your.hostname.here/g" /etc/postfix/main.cf

Assuming you have root permissions, this will replace the whole “myhostname” line from /etc/postfix/main.cf, and replace it with “myhostname = your.hostname.here”. You could have simply matched against the existing value, but if you wanted to script something to run on many machines, you are better off matching the beginning of the config line, as you wont always know the exact value you want to change.

Sponsored

The post Using sed to replace a string in a file appeared first on Networking HowTos.

Ubuntu Server Admin

Recent Posts

Join Canonical in Brazil at Dell Technologies Forum São Paulo

Canonical is excited to be a part of the Dell Technologies Forum in São Paulo…

4 days ago

6 facts for CentOS users who are holding on

In 2020, it was announced that CentOS 7 would reach end of life (EoL) by…

4 days ago

What is Ubuntu used for?

The launch of Ubuntu in 2004 was a step-change for everyday users and developers everywhere.…

5 days ago

Ubuntu Weekly Newsletter Issue 862

Welcome to the Ubuntu Weekly Newsletter, Issue 862 for the week of October 13 –…

6 days ago

New Ubuntu Community Council 2024

Merlijn writes: I’m happy to announce the new 2024 Ubuntu Community Council! Heather Ellsworth (~hellsworth1)…

7 days ago