[CentOS] replace multiple string

m.roth at 5-cent.us m.roth at 5-cent.us
Fri Sep 23 18:07:59 UTC 2011


madunix at gmail.com wrote:
>>>-type f ??
> the string could be a name of file name or subdirectory name
>
No, it can't. You are *not* going to edit directory names this way, and
should not.

      mark

> Thanks
> pons
>
> On Fri, Sep 23, 2011 at 8:51 PM,  <m.roth at 5-cent.us> wrote:
>> madunix at gmail.com wrote:
>>>
>>> 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
>>> done
>>
>> Close. I think
>> find /var/www/html/web -type f -exec sed -i -e
>> "s/old1/new1/;s/old2/new2/;..." {} \;
>> would do it. The -i is to make the change inplace, editing the existing
>> file.
>>
>>         mark
>>
>> _______________________________________________
>> CentOS mailing list
>> CentOS at centos.org
>> http://lists.centos.org/mailman/listinfo/centos
>>
> _______________________________________________
> CentOS mailing list
> CentOS at centos.org
> http://lists.centos.org/mailman/listinfo/centos
>





More information about the CentOS mailing list