Beefy Boxes and Bandwidth Generously Provided by pair Networks
Do you know where your variables are?

Directory Recursion from the Command Line?

by dvergin (Monsignor)
on Apr 15, 2003 at 04:32 UTC ( #250472=perlquestion: print w/replies, xml ) Need Help??
dvergin has asked for the wisdom of the Perl Monks concerning the following question:

I don't use one-liners routinely, but when the boss-man asked for a quicky to make the same change in 150 files in a directory, I dashed off:
perl -pi -e 's/this/that/' *
...and looked like a hero.

Then he said, "Make it work for a whole directory branch." I was stumped. I can (and did) write a short script to do this. But I have a lingering suspicion that there is some command-line magic that can, in effect do:

perl -r -pi -e 's/this/that/' *
Where the '-r' switch works as in other Linux commands to cause the requested operation to be performed on all directories including and under the current one.

Sadly, there is no '-r' switch for the Perl executable.

Does anyone have a quick command-line hack (rather than a script) to accomplish the requested task.

"Perl is a mess and that's good because the
problem space is also a mess.
" - Larry Wall

Replies are listed 'Best First'.
Re: Directory Recursion from the Command Line?
by Anonymous Monk on Apr 15, 2003 at 05:00 UTC

      I had just posted and gone to read other current items and there it was in the thread you have pointed to.

Re: Directory Recursion from the Command Line?
by crouchingpenguin (Priest) on Apr 15, 2003 at 13:08 UTC

    You could use a quick shell like:

    for file in `find . -type f -print`;do cp $file $file~ ; cat $file |se +d -e 's/this/that/' > $; mv $ $file;done

    "Never be afraid to try something new. Remember, amateurs built the ark. Professionals built the Titanic."

Log In?

What's my password?
Create A New User
Node Status?
node history
Node Type: perlquestion [id://250472]
Approved by Paladin
[Discipulus]: I expect a cut of 20% of emplyoment nexet year..
[choroba]: 20 months? :-o
[Discipulus]: up to 20 months.. but you'll be sure to remain unemployed

How do I use this? | Other CB clients
Other Users?
Others drinking their drinks and smoking their pipes about the Monastery: (10)
As of 2018-05-23 20:58 GMT
Find Nodes?
    Voting Booth?