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
XARGS(1L)																 XARGS(1L)

NAME
xargs - build and execute command lines from standard input SYNOPSIS
xargs [-0prtx] [-e[eof-str]] [-i[replace-str]] [-l[max-lines]] [-n max-args] [-s max-chars] [-P max-procs] [--null] [--eof[=eof-str]] [--replace[=replace-str]] [--max-lines[=max-lines]] [--interactive] [--max-chars=max-chars] [--verbose] [--exit] [--max-procs=max-procs] [--max-args=max-args] [--no-run-if-empty] [--version] [--help] [command [initial-arguments]] DESCRIPTION
This manual page documents the GNU version of xargs. xargs reads arguments from the standard input, delimited by blanks (which can be pro- tected with double or single quotes or a backslash) or newlines, and executes the command (default is /bin/echo) one or more times with any initial-arguments followed by arguments read from standard input. Blank lines on the standard input are ignored. xargs exits with the following status: 0 if it succeeds 123 if any invocation of the command exited with status 1-125 124 if the command exited with status 255 125 if the command is killed by a signal 126 if the command cannot be run 127 if the command is not found 1 if some other error occurred. OPTIONS --null, -0 Input filenames are terminated by a null character instead of by whitespace, and the quotes and backslash are not special (every character is taken literally). Disables the end of file string, which is treated like any other argument. Useful when arguments might contain white space, quote marks, or backslashes. The GNU find -print0 option produces input suitable for this mode. --eof[=eof-str], -e[eof-str] Set the end of file string to eof-str. If the end of file string occurs as a line of input, the rest of the input is ignored. If eof-str is omitted, there is no end of file string. If this option is not given, the end of file string defaults to "_". --help Print a summary of the options to xargs and exit. --replace[=replace-str], -i[replace-str] Replace occurences of replace-str in the initial arguments with names read from standard input. Also, unquoted blanks do not termi- nate arguments. If replace-str is omitted, it defaults to "{}" (like for `find -exec'). Implies -x and -l 1. --max-lines[=max-lines], -l[max-lines] Use at most max-lines nonblank input lines per command line; max-lines defaults to 1 if omitted. Trailing blanks cause an input line to be logically continued on the next input line. Implies -x. --max-args=max-args, -n max-args Use at most max-args arguments per command line. Fewer than max-args arguments will be used if the size (see the -s option) is exceeded, unless the -x option is given, in which case xargs will exit. --interactive, -p Prompt the user about whether to run each command line and read a line from the terminal. Only run the command line if the response starts with `y' or `Y'. Implies -t. --no-run-if-empty, -r If the standard input does not contain any nonblanks, do not run the command. Normally, the command is run once even if there is no input. --max-chars=max-chars, -s max-chars Use at most max-chars characters per command line, including the command and initial arguments and the terminating nulls at the ends of the argument strings. The default is as large as possible, up to 20k characters. --verbose, -t Print the command line on the standard error output before executing it. --version Print the version number of xargs and exit. --exit, -x Exit if the size (see the -s option) is exceeded. --max-procs=max-procs, -P max-procs Run up to max-procs processes at a time; the default is 1. If max-procs is 0, xargs will run as many processes as possible at a time. Use the -n option with -P; otherwise chances are that only one exec will be done. SEE ALSO
find(1L), locate(1L), locatedb(5L), updatedb(1) Finding Files (on-line in Info, or printed) XARGS(1L)
All times are GMT -4. The time now is 01:28 AM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy