replace a particular text in all the files using single line shell command

developer picture developer · Mar 26, 2010 · Viewed 49.9k times · Source

I have a renamed js file which I have to call in each of my php pages. Now I want to replace that old name with the new one using shell. what iam using is this:

sed -i ’s/old/new/g’ *

but this is giving the following error:

sed: -e expression #1, char 1: unknown command:

How can I do this replacement?

Answer

ghostdog74 picture ghostdog74 · Mar 26, 2010
sed -i.bak 's/old/new/g' *.php

to do it recursively

find /path -type f -iname '*.php' -exec sed -i.bak 's/old/new/' "{}" +;