sed -i -e '/central\.database =/ s/= .*/= new_value/' /path/to/file
Explanation:
-itells sed to save the results to the input file. Without it sed will print the results to stdout./central\.database =/matches lines that contain the string between slashes:central.database =. The.is escaped since it’s a special character in regex.- The
s/OLD/NEW/part performs a substitution. The OLD string is a regular expression to match and theNEWpart is the string to substitute in. - In regular expressions,
.*means “match anything”. So= .*matches an equal sign, space, and then anything else afterward.