recursive effect!!


 
Thread Tools Search this Thread
Top Forums UNIX for Dummies Questions & Answers recursive effect!!
# 1  
Old 01-29-2003
Data recursive effect!!

I run the following command in some of my folders... and ended up with a huge mess!!

find . -type f -exec perl -e 's/blabla/zzzxxxx/gi' -p -i.bak {} \;

I had to kill the process and later when I checked with one of my folders..
ls

vaditerm.dt.bak
vaditerm.dt.bak.bak
vaditerm.dt.bak.bak.bak
vaditerm.dt.bak.bak.bak.bak
vaditerm.dt.bak.bak.bak.bak.bak
vaditerm.dt.bak.bak.bak.bak.bak.bak
vaditerm.dt.bak.bak.bak.bak.bak.bak.bak
vaditerm.dt.bak.bak.bak.bak.bak.bak.bak.bak
vaditerm.dt.bak.bak.bak.bak.bak.bak.bak.bak.bak
vaditerm.dt.bak.bak.bak.bak.bak.bak.bak.bak.bak.bak
vaditerm.dt.bak.bak.bak.bak.bak.bak.bak.bak.bak.bak.bak
vaditerm.dt.bak.bak.bak.bak.bak.bak.bak.bak.bak.bak.bak.bak
vaditerm.dt.bak.bak.bak.bak.bak.bak.bak.bak.bak.bak.bak.bak.bak
vaditerm.dt.bak.bak.bak.bak.bak.bak.bak.bak.bak.bak.bak.bak.bak.bak
vaditerm.dt.bak.bak.bak.bak.bak.bak.bak.bak.bak.bak.bak.bak.bak.bak.bak


can someone throw light on how this happened?

Thanks,
sskb
(sorry if I wasted your time!!)
sskb
# 2  
Old 01-29-2003
Only a guess since you didn't post the -e portion (what are you running there?).

It looks like the -p option may have caused the loop that gave the mutiple extensions. See Command Switches
# 3  
Old 01-30-2003
When you -exec the perl script, it's done on the first file it finds, vaditerm.dt when it finds it, not when it has read the entire directory. Then when it continues, the next file it finds is vaditerm.dt.bak, which your -exec then operates on. Next is vaditerm.dt.bak.bak ...

One solution is to pass off the results of find to xargs; xargs then runs your perl program. If you want it to do one file at a time, there's an option to xargs to tell it so.
find . -type f | xargs perl -i.bak ...

Another solution is to tell find to ignore *.bak:
find . -type f \! -name '*.bak' -exec perl ...

The xargs version (if you process more than one file at a time) uses fewer process slots and will run faster, which may be important if you have a lot of files and/or your files are long. The xargs version will overwrite existing .bak files if they are physically in the directory after the primary files. Combining the two solutions, i.e.,
find . -type f \! -name '*.bak' | xargs perl ...
will certainly overwrite existing .bak files.
 
Login or Register to Ask a Question

Previous Thread | Next Thread

9 More Discussions You Might Find Interesting

1. UNIX for Dummies Questions & Answers

Pseudo-3D effect in text mode...

This is a DEMO only... Someone recently asked about creating a box to make something look nicer on screen. I suggested that with careful colouring a 3D effect could be created... Linux version; this also works on a Macbook Pro but is not as easy to see as the other code below:- ... (0 Replies)
Discussion started by: wisecracker
0 Replies

2. Shell Programming and Scripting

awk set $1 to itself, effect on $0

jotne posted an interesting thread an hour or two ago, and ended up with the following: awk '{$1=$1} /^+$/' file I had a question about the effect of $1=$1 assignment, and thought it better to start a new thread, because it's really a different topic. $ cat test.sh set -v echo " abcd" | awk... (3 Replies)
Discussion started by: hanson44
3 Replies

3. Shell Programming and Scripting

Alias has no effect in script

It doesn't have effect in script but it works on the terminal root@server:/opt/kvm/usecases/logs# alias echo='echo -e' root@server:/opt/kvm/usecases/logs# echo "xxxx\n" xxxx root@server:/opt/kvm/usecases/logs# cat xx.sh #!/bin/bash alias echo='echo -n' echo "sssf \n" ... (3 Replies)
Discussion started by: yanglei_fage
3 Replies

4. UNIX for Dummies Questions & Answers

What crontab is in effect after reboot

A basic cron question and I hope I explain it enough. If a person creates a file to use with cron and issues the followin command: crontab I understand this will set the cron entries to whatever is in . However, if we now edit the crontab with: crontab -e and save, how does cron... (3 Replies)
Discussion started by: niswonp
3 Replies

5. UNIX for Dummies Questions & Answers

DST did not take effect on 3 Linux servers

RHEL AS 3 running on x86 hardware. That have been patched for DST but did not change a few weeks back when time changed over. Explanation of the issue from another party. The servers in questions maintain their TOY clock local time instead of UTC. As by defined functionality It prevents NTP... (1 Reply)
Discussion started by: Steelysteel
1 Replies

6. Shell Programming and Scripting

how to give dictionary effect ?

Hello, In google: if we type the text like :- It gives us a question saying :- I want to know how to write a shell script to give this Dictionary effect. example:If we give "lst" then it corrects us saying "list". Can you please help me with a sample code! friends..... (3 Replies)
Discussion started by: nsharath
3 Replies

7. Virtualization and Cloud Computing

The Network Effect - Part 1

2008-10-31T22:46:14+01:00 http://geekandpoke.typepad.com/.a/6a00d8341d3df553ef010535ce543e970c-800wi Nicholas Carr (and here) has some problems with Tim O'Reilly's theory about the cloud and the network effect. http://feeds.feedburner.com/~f/GeekAndPoke?i=OFn0M... (0 Replies)
Discussion started by: Linux Bot
0 Replies

8. UNIX for Dummies Questions & Answers

How do properties effect script?

Hi, I have noticed that rm -if will perform completely different to rm -fi. Whats the pattern of how I put my options to the script in relation to how it will act. i.e rm -fi treat the remove as interative but rm -if treats it as forced Thansk, Chris. (1 Reply)
Discussion started by: Chiefos
1 Replies

9. UNIX for Advanced & Expert Users

Effect of Preemptive Kernel

hi there, i am porting kernel 2.2 driver program to kernel 2.6. for some extent i am successfull but some times the system gets hanged. what might be the problem? i am not able to get any help from log messages as nothing is being printed at that moment. hey does this kernel preemptiveness and... (2 Replies)
Discussion started by: sriram.ec
2 Replies
Login or Register to Ask a Question