How to replace a string in multiple files in linux command line

mridul4c picture mridul4c · Jul 9, 2012 · Viewed 591.7k times · Source

I need to replace a string in a lot of files in a folder, with only ssh access to the server. How can I do this?

Answer

kev picture kev · Jul 9, 2012
cd /path/to/your/folder
sed -i 's/foo/bar/g' *

Occurrences of "foo" will be replaced with "bar".

On BSD systems like macOS, you need to provide a backup extension like -i '.bak' or else "risk corruption or partial content" per the manpage.

cd /path/to/your/folder
sed -i '.bak' 's/foo/bar/g' *