Find and Replace Across Multiple Files
by ichilton on Mar.15, 2009, under UNIX
Have you ever needed to change the same thing in a load of files and have had to sit there and go through each one in turn and make the same change?
This is a really useful and simple command:
perl -pi -w -e 's/from text/to text/g;' *
It simply goes through all files matching * and runs the regular expression, ’s/from text/to text/g’ - which means replace all instances of “from text” with “to text”. nifty!
March 16th, 2009 on 11:00 am
Handy. I’ve previous just loaded all the files into a Textmate project, and then used a project wide search and replace, but that one liner is even easier.
March 17th, 2009 on 8:29 pm
Yeah - it’s very nifty! - great for updating things like DNS records in bulk!
March 17th, 2009 on 10:40 pm
haha clearly what you worked out when moving servers then?
March 17th, 2009 on 10:51 pm
Indeed!