Sponsored Content
Full Discussion: recursive effect!!
Top Forums UNIX for Dummies Questions & Answers recursive effect!! Post 34018 by criglerj on Thursday 30th of January 2003 11:05:27 AM
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.
 

9 More Discussions You Might Find Interesting

1. 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

2. 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

3. 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

4. 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

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. 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

7. 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

8. 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

9. 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
cmp(1)							      General Commands Manual							    cmp(1)

NAME
cmp - Compares two files SYNOPSIS
cmp [-l | -s] file1 file2 STANDARDS
Interfaces documented on this reference page conform to industry standards as follows: cmp:XCU5.0 Refer to the standards(5) reference page for more information about industry standards and associated tags. OPTIONS
Prints the byte number (decimal) and the differing bytes (octal) for each difference. Does not print data for differing files; returns only an exit value. OPERANDS
The path name of a file to be compared. The path name of a file to be compared. DESCRIPTION
The cmp command compares two files. If file1 or file2 is - (dash), standard input is used for that file. It is an error to specify - for both files. By default, the cmp command prints no information if the files are the same. If the files differ, cmp prints the byte and line number where the difference occurred. The cmp command also specifies whether one file is an initial subsequence of the other (that is, if the cmp command reads an End-of-File character in one file before finding any differences). Usually, you use the cmp command to compare nontext files and the diff command to compare text files. Note that bytes and lines reported by cmp are numbered from 1. EXIT STATUS
The following exit values are returned: The files are identical. The files differ. This includes files of different lengths that are identical in the first part of both files. An error occurred. EXAMPLES
To determine whether two files are identical, enter: cmp prog.o.bak prog.o The preceding command compares the files prog.o.bak and prog.o. If the files are identical, a message is not displayed. If the files differ, the location of the first difference is displayed. For instance: prog.o.bak prog.o differ: byte 5, line 1 If the message cmp: EOF on prog.o.bak is displayed, then the first part of prog.o is identical to prog.o.bak, but there is addi- tional data in prog.o. If the message cmp: EOF on prog.o is displayed, it is prog.o.bak that is the same as prog.o but also contains addition data. To display each pair of bytes that differ, enter: cmp -l prog.o.bak prog.o This compares the files and then displays the byte number (in decimal) and the differing bytes (in octal) for each difference. For example, if the fifth byte is octal 101 in prog.o.bak and 141 in prog.o, then the cmp command displays: 5 101 141 . . . ENVIRONMENT VARIABLES
The following environment variables affect the execution of cmp: Provides a default value for the internationalization variables that are unset or null. If LANG is unset or null, the corresponding value from the default locale is used. If any of the internationalization vari- ables contain an invalid setting, the utility behaves as if none of the variables had been defined. If set to a non-empty string value, overrides the values of all the other internationalization variables. Determines the locale for the interpretation of sequences of bytes of text data as characters (for example, single-byte as opposed to multibyte characters in arguments). Determines the locale for the for- mat and contents of diagnostic messages written to standard error. Determines the location of message catalogues for the processing of LC_MESSAGES. SEE ALSO
Commands: comm(1), bdiff(1), diff(1), diff3(1), sdiff(1) Standards: standards(5) cmp(1)
All times are GMT -4. The time now is 06:03 AM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy