Linux – How to replace line in file with pattern with sed

bashcommand linelinuxregexsed

I'm reading a lot of documentation on sed, and am still stumped on my particular use case.

I want to replace this line in a conf file with my own line:

Replace this line:

#maxmemory <bytes>

with:

maxmemory 26gb

This is what I tried:

sed s/maxmemory.*bytes.*/maxmemory 26gb/ /etc/redis/redis.conf

I get the error:

sed: -e expression #1, char 30: unterminated `s' command

Which stumps me because I don't know what that means. So my question is:

How can I accomplish what I want?
What does that error mean? (so I can learn from it)

Best Answer

You have forgot -i. Modification should be made in place :

$ sed -i 's/maxmemory.*/maxmemory 26gb/' /some/file/some/where.txt

Related Question