The ‘sed’ command can be used to easily replace all occurrences of one string in a text file, with another string.
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.
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.