03-31-2005
There is no intrinsic Perl function that allows you to do a file search like the shell "find" command. With the core functions, the most you can get is to call the opendir() and readdir() functions recursively and use regular expression to carry out the search (or use stat() to search for file attributes).
Newer Perls does ship with a File::Find module though, it's already the closest match I can find, but actually not quite similar, and not as versatile/flexible as the shell "find" command. It may be what you are looking for, but may be not. This is a module, not an intrinsic command, or function.
On the CPAN there is also the File::Find::Rule module, seems to be a bit more versatile though, but you need to install it yourself before use. There are also a handful lots of other modules for file searching on the CPAN. If you have time, you can also dig out some from
http://search.cpan.org/search?query=...ARule&mode=all
I have not used any of these modules before so I am unable to give you an example. You may find a few examples with some googling though.
10 More Discussions You Might Find Interesting
1. UNIX for Dummies Questions & Answers
I am extremely new here. Someone wants to upgrade off of Unix to Windows 2000 and wants to know if they need to buy new hardware
How do I find out what type of Unix they're using?
How do I find out the current hardware of the system? (Intel, ..etc)
Thanks (3 Replies)
Discussion started by: tomsha
3 Replies
2. UNIX for Dummies Questions & Answers
How can I find out? Besides looking on the box of my distro and checking their. (2 Replies)
Discussion started by: DISTURBED
2 Replies
3. UNIX for Dummies Questions & Answers
Hi,
Is there anyway to find what version of a software is installed on a particular box ?
For Tru64 unix, the setld -i command lists all the software that is installed. But how do i get the version ? is there a unix command for this?
Is setld specific to Tru64 ?
Do reply
VJ (1 Reply)
Discussion started by: vjsony
1 Replies
4. Shell Programming and Scripting
Hi All
Please let me know if there is command to check the version of the informix database installed..?
Thanks in advance.
Suresh (4 Replies)
Discussion started by: sureshg_sampat
4 Replies
5. Shell Programming and Scripting
Guys,
I need to find all the files ending with either dmp or dmp.Z. This command is giving me error.
@files =`find $path \(-name "*.dmp" -o -name "*.dmp.Z"\) -mtime +30`;
sh: 0403-057 Syntax error at line 1 : `(' is not expected.
Thanks in advance (4 Replies)
Discussion started by: MKNENI
4 Replies
6. UNIX for Dummies Questions & Answers
how to use sed command to find and replace a directory
i have a file.. which contains lot of paths ...
for eg.. file contains..
/usr/kk/rr/12345/1
/usr/kk/rr/12345/2
/usr/kk/rr/12345/3
/usr/kk/rr/12345/4
/usr/kk/rr/12345/5
/usr/kk/rr/12345/6
/usr/kk/rr/12345/7... (1 Reply)
Discussion started by: wip_vasikaran
1 Replies
7. Shell Programming and Scripting
Hi All,
I am rather new to the world of Perl programming. I have a question regarding the perl modules. I have a linux box running slackware 12.2 and has perl installed by default there (version 5.10.0) and it has several modules installed namely DBI and DBD::mysql that I wanted to upgrade. ... (2 Replies)
Discussion started by: aherrys
2 Replies
8. Shell Programming and Scripting
I need to know a command to find out which version of Perl Im currently running.
Thanks
Ben (2 Replies)
Discussion started by: bigben1220
2 Replies
9. Shell Programming and Scripting
Hi,
I am looking to extract linux version from /etc/*-release file.
I am specifically tring to avoid use of awk command here. would be great if can do done via sed or grep command.
Red Hat Enterprise Linux Server release 6.5 (Tikanga)
output must be 6
regards,
Litu (7 Replies)
Discussion started by: Litu1988
7 Replies
10. Shell Programming and Scripting
i use the following command to find files that were recently updated within the last hour:
perl -MFile::Find -le' find { wanted => sub { -f and 3600 / 86400 >= -M and print $File::Find::name; } }, shift' /var/app/mydata/
this command works well.
however, it seems to also search directories... (1 Reply)
Discussion started by: SkySmart
1 Replies
emacs(1) General Commands Manual emacs(1)
NAME
emacs, xemacs - emacs editor
DESCRIPTION
The emacs software is unsupported software that is provided as part of Tru64 UNIX. Compaq will fix problems in this unsupported software
only if they are specific to Tru64 UNIX. Compaq will not fix problems that are integral to the software itself or that occur when the com-
ponent is used on UNIX systems other than Tru64 UNIX. Compaq will not add functionality to this software.
Except for this reference page, other reference pages that Tru64 UNIX supplies for emacs are passed through without changes. The reference
pages distributed as part of this software are available in the directories /usr/share/doclib/annex/man/man[1-9]. You should use this
directory stem in the man command or add it to the MANPATH environment variable to make these files available to the man command.
Note
Compaq is not responsible for the content or quality of reference pages and other documents installed under the /usr/share/doclib/annex
directory and does not revise this material in response to customer problem reports. Reference pages installed under the
/usr/share/doclib/annex/man directory are not available from Compaq in book form; for example, they are not included in the reference manu-
als that you receive when you order the Tru64 UNIX documentation set as hard copy books.
Problems related to the content or quality of any documentation installed in the /usr/share/doclib/annex directory tree should be sent to
the developers of the documentation.
The format for changing the search path with the man command is: man -P /usr/share/doclib/annex/man [section] title...
If you are using the Bourne, Korn, or POSIX shells, use the following command sequence to modify your environment: MANPATH=$MAN-
PATH:/usr/share/doclib/annex/man export MANPATH
If you are using the C shell, enter the command: setenv MANPATH `echo $MANPATH`:/usr/share/doclib/annex/man
See the reference pages for the man(1) command for additional information on the search path used to locate files.
The reference pages associated with this product are not included in the whatis data base created by the catman command. Therefore, the
man -k and apropos commands will not locate reference pages included with this product.
SEE ALSO
Commands: apropos(1), catman(8), man(1)
emacs(1)