Re: [SLUG] String Replacement

From: Derek Glidden (dglidden@illusionary.com)
Date: Thu Jul 05 2001 - 11:22:38 EDT


Paul Legato wrote:
>
> Hi,
> There are faster ways to do this with bash and sed, but the syntax is a bit
> more cryptic than Perl and it will only be negligibly faster on a job of
> 100 files or so.
>
> [removal of incredibly long Perl script]

Whoah there Tex... Multi-file search-n-replace is *really* simple from
the command line:

$ for file in *.txt ; do ( sed "s/Text To Replace/Text To Replace
With/g" < $i > tmp ; mv tmp $i ) ; done

Which really should be a LOT faster than that big Perl script (not that
Perl isn't cool...) because you won't have to fiddle around with the
Perl script first!

 
> On Wednesday 04 July 2001 03:55 am, you wrote:
> > Non / soon to be member submission:
> > This may be simple, but i'm reading and reading and I can't find out
> > how. What i'm trying to do is a string replacement in many txt files at
> > once. Say theres 100 files with the name Jim in them and I want to
> > replace "Jim" with "Jim H". I can manually do it one by one with emacs,
> > but there may be thousands of needed replacements and that would take
> > OMG way too long.
> >
> > Any help?
> >
> > Thanks in advance.

-- 
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
#!/usr/bin/perl -w
$_='while(read+STDIN,$_,2048){$a=29;$b=73;$c=142;$t=255;@t=map
{$_%16or$t^=$c^=($m=(11,10,116,100,11,122,20,100)[$_/16%8])&110;
$t^=(72,@z=(64,72,$a^=12*($_%16-2?0:$m&17)),$b^=$_%64?12:0,@z)
[$_%8]}(16..271);if((@a=unx"C*",$_)[20]&48){$h=5;$_=unxb24,join
"",@b=map{xB8,unxb8,chr($_^$a[--$h+84])}@ARGV;s/...$/1$&/;$d=
unxV,xb25,$_;$e=256|(ord$b[4])<<9|ord$b[3];$d=$d>>8^($f=$t&($d
>>12^$d>>4^$d^$d/8))<<17,$e=$e>>8^($t&($g=($q=$e>>14&7^$e)^$q*
8^$q<<6))<<9,$_=$t[$_]^(($h>>=8)+=$f+(~$g&$t))for@a[128..$#a]}
print+x"C*",@a}';s/x/pack+/g;eval 

usage: qrpff 153 2 8 105 225 < /mnt/dvd/VOB_FILENAME \ | extract_mpeg2 | mpeg2dec -

http://www.eff.org/ http://www.opendvd.org/ http://www.cs.cmu.edu/~dst/DeCSS/Gallery/



This archive was generated by hypermail 2.1.3 : Fri Aug 01 2014 - 15:34:08 EDT