R – grep and sed – replace all instances of a string

bashgrepsed

I have a bash script I'm writing that greps for a filepath. I want to be able to use the output of the grep to replace each instance of the old filepath with the new filepath.

Example:

grep -R "/~test/dev/portal" .

I want to be able to pipe this output into sed to replace each instance of "/~test/dev/portal/" with "/apps/portal/" (keep in mind, the output of the grep is typically more than one file)

Thanks in advance!

Best Answer

grep -ZlR "/~test/dev/portal" . | xargs -0 -l1 sed -i 's:/~test/dev/portal/:/apps/portal/:g'