Replacing text for all files in a directory
Kemp Randy-W18971
Randy.L.Kemp at motorola.com
Wed Aug 8 08:45:44 EDT 2001
Thanks. I will look into the shell script, Python, and Perl suggestions
deeper.
-----Original Message-----
From: Manoj Plakal [mailto:plakal-nospam at nospam-cs.wisc.edu]
Sent: Tuesday, August 07, 2001 11:25 PM
To: python-list at python.org
Subject: Re: Replacing text for all files in a directory
Grant Edwards wrote:
> In article <mailman.997215734.1690.python-list at python.org>, Kemp
> Randy-W18971 wrote:
>> Great! But how can I apply this to all files in a directory, where the
>> directory contains 20 files, without listing each file individually?
>
> for i in *; do
> sed -e "s/Have a good day/jump off a cliff/g" $i > tmp
> mv tmp $i
> done
Perl has some useful command-line options
for doing in-place edits:
perl -p -i -e "s/foo/bar/g;" dir/*
will replace "foo" with "bar" in all files inside directory
"dir". But beware the power of the Dark Side,
this stuff can degenerate rapidly if you are tempted
to do more complicated stuff with it.
Manoj
More information about the Python-list
mailing list