[CentOS] replace multiple string
Thomas Johansson
thomasj at isy.liu.se
Fri Sep 23 21:20:06 UTC 2011
On 2011-09-23 19:47, madunix at gmail.com wrote:
> Hi
>
>
> I would like to use a bash script that searches files and
> subdirectories name in a directory /var/ww/html/web
> for a specific string, and when it finds the search string, replaces
> the string (old1) with new string (new1), and so on
> old2 with new2 ....oldn with newn.
>
>
>
> replace_string.sh
> #!/bin/bash
> for db in $(find /var/www/html/web -name * -exec)
> do
> sed -e "s/old1/new1/" \
> sed -e "s/old2/new2/" \
> ...
> sed -e "s/oldn/newn/" $db
A more efficient way to perform sed is
sed -e "s/old1/new1/" \
-e "s/old2/new2/" \
...
-e "s/oldn/newn/" $db
or
sed -e "s/old1/new1/ ; s/old2/new2/" .. $db
Other hints for efficient nash shell scripts..
http://hacktux.com/bash/script/efficient
More information about the CentOS
mailing list