Re: find cont'd 3

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]



On Fri, Oct 10, 2008 at 7:19 AM, Eric Sisolak <haldir.junk@xxxxxxxxx> wrote:
> On Wed, Oct 8, 2008 at 9:49 PM, <tony.chamberlain@xxxxxxxxx> wrote:
>>
>> Basically I want to find all files with a string (except binary)
>> and change it.  let STR be the string I am looking for.  NEW is new
>> string.
>
> Hmm, why not ditch find entirely, and just use grep?  Something like:
>
> TFIL=/usr/tmp/dummy$$.txt
>
> grep -Ilr "$STR" * > $TFIL
>
> for fil in $( cat $TFIL); do
>  sed -i "s/$STR/$NEW/g" $fil
> done
>

That should work, but unless you actually need to see the file list,
you can do this in one command:

for fil in `grep -Ilr "$STR" *`; do sed -i "s/$STR/$NEW/g" $fil; done

If you really need the file list separately, you can use `grep -Ilr
"$STR" * | tee $TFIL` to get the same effect.

Note that this will not necessarily work with specific sets of files
(as opposed to '*').

mhr
_______________________________________________
CentOS mailing list
CentOS@xxxxxxxxxx
http://lists.centos.org/mailman/listinfo/centos

[Index of Archives]     [CentOS]     [CentOS Announce]     [CentOS Development]     [CentOS ARM Devel]     [CentOS Docs]     [CentOS Virtualization]     [Carrier Grade Linux]     [Linux Media]     [Asterisk]     [DCCP]     [Netdev]     [Xorg]     [Linux USB]
  Powered by Linux