06-13-2006
Quote:
Originally Posted by pavan_test
find DD.* -maxdepth 1 -mtime +$DAYS -exec $DOACTION {} \;
find AA.* -maxdepth 1 -mtime +$DAYS -exec $DOACTION {} \;
You should change these two lines into:
find
. -name "DD.*" -maxdepth 1 -mtime +$DAYS -exec $DOACTION {} \;
find
. -name "AA.*" -maxdepth 1 -mtime +$DAYS -exec $DOACTION {} \;
Quote:
Originally Posted by pavan_test
pav.ksh[33]: find: Argument list too long.
there are total 22,309 files with AA.* extension.
This error is produced by the use of "*". It means there are too many files on the directory. That's because of the shell's limits when using wildcards.
Regards.
9 More Discussions You Might Find Interesting
1. UNIX for Advanced & Expert Users
Hi,
I'm using the following command to get a list of files on the system.
find /releases -type f -exec ls -l > /home/sebarry/list.txt '{}' \;
however, its searching a directory I don't want it to search so I know I have to use prune but I don't seem to be able to get prune and exec to work... (1 Reply)
Discussion started by: Sebarry
1 Replies
2. Shell Programming and Scripting
Hi There,
I have a script which finds for log files and removes them if the file has changed in the last day.
The script runs fine without errors. The log file is still there. So, I decided to print the find command and run the command outside the script. Getting "Incomplete statement"
Can you... (6 Replies)
Discussion started by: funtochat2002
6 Replies
3. Shell Programming and Scripting
Hi People,
I have a directory full of compressed files (.Z extention)
In many of these files there is a string pattern (3800078163033)
I want to find all file names which contain this string in their text.
Regards,
Abhishek (2 Replies)
Discussion started by: max29583
2 Replies
4. Shell Programming and Scripting
Hi
I have a little problem with the find command in a script that I'm writing. The script should check if there are some files younger than 100 seconds and then syncronise them with rsync.
My find command:
find -type f -cmin -100 -exec rsync -a --delete directory1/ directory2/
When I... (8 Replies)
Discussion started by: oku
8 Replies
5. Shell Programming and Scripting
Hello All,
Is there a way to make exec do a couple of operations on a single input from find?
For example,
find . -type d -exec ls -l "{}" ";"
I would like to give the result of each "ls -l" in the above to a wc. Is that possible?
I want to ls -l | wc -l inside exec. How do I... (1 Reply)
Discussion started by: prasanna1157
1 Replies
6. Shell Programming and Scripting
Hi all,
Please could someone help with the following command requirement.
I basically need to find files NEWER than a given file and order the result on time.
My attempt so far is as follows:
find . -newer <file_name> -exec ls -lrt {} ;\
But I dont seem to get the right result... (12 Replies)
Discussion started by: jonnyd
12 Replies
7. UNIX for Dummies Questions & Answers
Hi,
I have two scripts that remove files. One works fine and is coded
find -name "syst*" -mtime +1 -exec rm {} \;
The other is almost the same - only thing missing is the '\'. On that script though I keep getting:
rm syst1202.file ?
etc
Does the \ make that difference or is it a... (3 Replies)
Discussion started by: Grueben
3 Replies
8. Shell Programming and Scripting
Hi all,
I am trying to find files newer than a given file and them mv them to a new location.
So I far I have:
find . ! -newer <file_name> -exec ls -l {} \;
and
find . ! -newer <file_name> -exec mv /TEMP_LOCATION {} \;
find is not liking this.
Anyone know how to modify the last... (2 Replies)
Discussion started by: jonnyd
2 Replies
9. Shell Programming and Scripting
Hello.
From a script, a command for a test is use :
find /home/user_install -maxdepth 1 -type f -newer /tmp/000_skel_file_deb ! -newer /tmp/000_skel_file_end -name '.bashrc' -o -name '.profile' -o -name '.gtkrc-2.0' -o -name '.i18n' -o -name '.inputrc'
Tha command... (3 Replies)
Discussion started by: jcdole
3 Replies
find(1) General Commands Manual find(1)
Name
find - find files
Syntax
find pathname-list expression
Description
The command recursively descends the directory hierarchy for each pathname in the pathname-list (that is, one or more pathnames) seeking
files that match a boolean expression written in the primaries given below. In the descriptions, the argument n is used as a decimal inte-
ger where +n means more than n, -n means less than n , and n means exactly n.
Options
-atime n Tests true if the file has been accessed in n days.
-cpio output Writes current file on output in the format (5120-byte records) specified in the reference page. The output can be either a
file or tape device. If output is a tape device the B key must be used to read data from the tape.
-ctime n Tests true if the file has been changed in n days.
-depth Always true; causes descent of the directory hierarchy to be done so that all entries in a directory are acted on before the
directory itself (that is, postorder instead of preorder). This can be useful when is used with to transfer files that are
contained in directories without write permission.
-exec command Tests true if specified command returns a 0 on exit. The end of the command must be punctuated by an escaped semicolon. A
command argument `{}' is replaced by the current pathname.
-group gname Tests true if group ID matches specified group name.
-inum n Tests true if the file has inode number n.
-links n Tests true if the file has n links.
-mount Tests true if the current file is on the same file system as the current starting pathname.
-mtime n Tests true if the file has been modified in n days.
-name filename Tests true if the filename argument matches the current file name. Normal Shell argument syntax may be used if escaped
(watch out for `[', `?' and `*').
-newer file Tests true if the current file has been modified more recently than the argument file.
-ok command Executes specified command on standard output, then standard input is read and command executed only upon response y.
-perm onum Tests true if file has specified octal number. For further information, see If onum is prefixed by a minus sign, more flag
bits (017777) become significant and the flags are compared: (flags&onum)==onum. For further information, see
-print Prints current pathname.
-size n Tests true if the file is n blocks long (512 bytes per block).
-type c Tests true if file is c type ( c = b, block special file: c, character special file: d, directory: f, plain file: l, sym-
bolic link: p, type port: s, type socket).
-user uname Tests true if file owner is login name or numeric user ID.
The primaries may be combined using the following operators (in order of decreasing precedence):
1) A parenthesized group of primaries and operators (parentheses are special to the Shell and must be escaped).
2) The negation of a primary (`!' is the unary not operator).
3) Concatenation of primaries (the and operation is implied by the juxtaposition of two primaries).
4) Alternation of primaries (`-o' is the or operator).
Examples
To remove all files named `a.out' or `*.o' that have not been accessed for a week:
find / ( -name a.out -o -name '*.o' )
-atime +7 -exec rm {} ;
To find all files on the root file system type:
find / -mount -print
To write all the files on the root file system to tape:
find / -mount -print -cpio /dev/rmt?h
cpio -iBvt < /dev/rmt?h
To find all the mount points on the root file system type:
find / ! -mount -print
Files
See Also
cpio(1), sh(1), test(1), cpio(5), fs(5)
find(1)