There are many ways to do this. This one is my favorite
grep -rl "old_string" . | xargs sed -i 's/old_string/new_string/g'
What is happening
- grep -rl: search recursively, and only print the files that contain “old_string”
- xargs: take the output of the grep command and make it the input of the next command (ie, the sed command)
- sed -i ‘s/old_string/new_string/g’: search and replace, within each file, old_string by new_string