Beefy Boxes and Bandwidth Generously Provided by pair Networks
Clear questions and runnable code
get the best and fastest answer

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

Comment on Directory Recursion from the Command Line?
Select or Download Code
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
and the web crawler heard nothing...

How do I use this? | Other CB clients
Other Users?
Others musing on the Monastery: (4)
As of 2015-11-30 02:36 GMT
Find Nodes?
    Voting Booth?

    What would be the most significant thing to happen if a rope (or wire) tied the Earth and the Moon together?

    Results (756 votes), past polls