Replacing string in multiple files
Dan Nelson
dnelson at allantgroup.com
Thu Jul 10 11:27:00 PDT 2003
In the last episode (Jul 10), Jack L. Stone said:
> Am running FBSD.4.8-R
>
> At times, I need to replace an existing string in a file that has the same
> name in all ~user accounts and know there must be a short script to do that
> and suspect it involves sed(1). However, had no luck getting it to work
> yet. Basically want to do this:
>
> - find same files in all ~users by same name "~users/myfile"
> - replace this ${string} with this ${string} in the above files
> - report list of above files modified successfully
If all your users share a common hierarchy:
sed -i.bak -e s/oldstring/newstring/ /home/*/myfile
You'll need to be running FreeBSD 4.7 or newer for sed -i to work. Not
sure how to get a list of changed files, though. Maybe just do a grep
beforehand?
--
Dan Nelson
dnelson at allantgroup.com
More information about the freebsd-questions
mailing list