10-10-2000
Yes, of course. The way I do this is with the find() command. For example, to remove all mp3 files in a directory and all subdirectories;
find * -regex '.*\.mp3' -exec rm {} ;
This will recursively find all files and use the regular
expression matching any string up to the final .mp3
and then remove that file (might want to check the regex
pattern, I'm doing this without checking
Another example. You want to change the owner and group
of all files and subfiles:
find * -exec chown admin.users {} \;
My suggestion is that you do a 'man on find' and read about using the -regex and -exec flags. Fun and powerful stuff!
10 More Discussions You Might Find Interesting
1. Solaris
Hi all,
I would want to find a string 'abc' on all files which is located under a directory.
But inside the directory there are subdirectories, so how can I find whether 'abc' exists on all files in the subsequent subdirectories?
Thanks. (4 Replies)
Discussion started by: *Jess*
4 Replies
2. Shell Programming and Scripting
I am wondering how I can include external files in a perl script. I'm currently working on a website, and I'd like to put my menu items in a subroutine for example, and put that in another file such as menu.pl. That way, I can call the subroutine from each page (such as news.pl), and if I want to... (2 Replies)
Discussion started by: LNC
2 Replies
3. Programming
Hi
I am trying to debug a code by including prinf . TO some extended it shows error at one point .
If i include an extra printf it is showing at different point . Can anybody please let em know why it is happening ..
Thaks,
Arun (1 Reply)
Discussion started by: arunkumar_mca
1 Replies
4. UNIX for Dummies Questions & Answers
Hi,
Is it possible to include files (print with EOF, sort of like ssi) in perl/cgi?
Thanks (1 Reply)
Discussion started by: marringi
1 Replies
5. Programming
Hi All,
When i am trying to include graphics.h ,dos.h and conio.h, its giving error as follows:
pgm.c:2:17: dos.h: No such file or directory
pgm.c:3:22: graphics.h: No such file or directory
pgm.c:4:19: conio.h: No such file or directory
Whereas stdio.h, stdlib.h and time.h gets... (3 Replies)
Discussion started by: jisha
3 Replies
6. Shell Programming and Scripting
Hi All,
I need your help in finding pattern from files present in different directories.
I need to search for a pattern "xyz" from "*.txt" files which are present in different levels of directories as shown.
example
-------
dir1/subdir1/file.txt
dir2/subdir2/subsubdir2/file.txt... (5 Replies)
Discussion started by: imas
5 Replies
7. Shell Programming and Scripting
Hi,
1_strings file contains
$ cat 1_strings
/home/$USER/Src
/home/Valid
/home/Review$ cat myxml
<projected value="some string" path="/home/$USER/Src">
<input 1/>
<estimate value/>
<somestring/>
</projected>
<few more lines >
<projected value="some string" path="/home/$USER/check">... (4 Replies)
Discussion started by: greet_sed
4 Replies
8. AIX
Hi Admins,
I have configured net-snmp with my aix 5.3 server. how to add the same in rc scripts,so that net-snmp will start automatically post server reboot.
As per now , i have to start snmp manually after server reboot.
Thanks in advance
newaix (0 Replies)
Discussion started by: newaix
0 Replies
9. Shell Programming and Scripting
Hi,
Is is possible to zip a folder and all its contents within the folder ( including sub-directories and files) into a zip file? and can regain the same structure if unzipped?
Thanks (6 Replies)
Discussion started by: rudoraj
6 Replies
10. Shell Programming and Scripting
My department uses an outlook mail merge to send login information to multiple users who request access. I would like to use sendmail for obvious reasons. I copied a sample email source, with all the disgusting html formatting from outlook, and can successfully send emails almost exactly as I did... (0 Replies)
Discussion started by: MaindotC
0 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)