Beefy Boxes and Bandwidth Generously Provided by pair Networks
P is for Practical

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 pondering the Monastery: (13)
As of 2015-10-13 18:31 GMT
Find Nodes?
    Voting Booth?

    Does Humor Belong in Programming?

    Results (312 votes), past polls