Replacing string in multiple files

Jack L. Stone jackstone at sage-one.net
Thu Jul 10 12:32:43 PDT 2003


At 01:26 PM 7.10.2003 -0500, Dan Nelson wrote:
>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
>

Thanks, Dan.... knew it would be simple. Can probably grep and/or diff for
the changes....

Best regards,
Jack L. Stone,
Administrator

SageOne Net
http://www.sage-one.net
jackstone at sage-one.net


More information about the freebsd-questions mailing list