08-25-2010
are you still invoking grep command from your perl script? if yes, use the m operator of Perl instead.
here's a plan that could work for you:
1. get a list of all *.txt files, using opendir and readdir
2. open multiple threads
3. in each thread, open a single file from the list and search the string using m operator, append the results in the output file
but this approach would work only if i/o sub-system is fast in your system. otherwise cpu and memory would wait for io if disks are slower.
10 More Discussions You Might Find Interesting
1. Shell Programming and Scripting
I am using a DEC ALPHA running Digital UNIX (formly DEC OSF/1) and ksh. I have a directory with hundreds of files that only share the extension .rpt. I would like to search that directory based on serial number and operation number and only files that meet both requirements to be printed out. I... (6 Replies)
Discussion started by: Anahka
6 Replies
2. Shell Programming and Scripting
I know this must be really easy, but i can't get it to work
I've got a perl script, with a file.
I want to print an empty line, and the following doesn't seem to work:
print nameoffile "\n"
thanks for your help!! (3 Replies)
Discussion started by: kfad
3 Replies
3. UNIX for Dummies Questions & Answers
Hello,
I'm trying to create a program in perl called myfind.pl;
To use the program:
(at the command line)$ program.pl keyword filename
note: the keyword is any word or regular expression
and it should display the result just like when you 'cat' the file name but with the keyword in... (2 Replies)
Discussion started by: Horizon666
2 Replies
4. Shell Programming and Scripting
Hello People,
Need some assistance/guidance.
OUTLINE:
Two files (File1 and File2)
File1 has some ids such as
009463_3922_1827
897654_8764_5432
File2 has things along the lines of:
Query= 009463_3922_1827 length=252
(252 letters)
More stufff here
... (5 Replies)
Discussion started by: Deep9000
5 Replies
5. Shell Programming and Scripting
Hi,
I have code like:
Output it is comming as:
Rels: WM2
Rels: WG2
Rels: 5
- pre/prods.pl
Rels: 6
Rels: 7
Rels: 8
Rels: 10
Rels: Int
But i want only "Rels: 5" pattern Just above "- pre/prods.pl".
By... (7 Replies)
Discussion started by: Anjan1
7 Replies
6. UNIX for Dummies Questions & Answers
Hi again
I have figured out how to be able to sort through lines in a file with multiple words in any order and display them using this command:
cat file | grep -i $OPTION1 | grep -i $OPTION2 | grep -i $OPTION3 OPTION1 is 2008, OPTION2 is Mar, OPTION 3 is Tue
Result:
Tue Mar 25... (4 Replies)
Discussion started by: semaj
4 Replies
7. UNIX for Dummies Questions & Answers
I'm attempting to use grep in Perl with very little success.
What I would like to do in Perl is get the output of the following grep code:
grep -l 'pattern' *
This gives me a list of all the files in a directory that contain the pattern that was searched.
My attempts to do this in Perl... (4 Replies)
Discussion started by: WongSifu
4 Replies
8. Shell Programming and Scripting
Hi All,
i have an output of command vmstat as below :
$ vmstat
System configuration: lcpu=4 mem=5376MB ent=1.00
kthr memory page faults cpu
----- ----------- ------------------------ ------------ -----------------------
r b avm fre re pi... (10 Replies)
Discussion started by: omkar.jadhav
10 Replies
9. BSD
I am new to unix and I would like to search multiple log files to find earliest occurrence of a text.
Ex:
Say I have 10 logs file each ending with .log and I want to find the text “CustomeError” .
I want to find the which log file “CustomeError” comes first and lines which surround’s ... (4 Replies)
Discussion started by: jim john
4 Replies
10. Shell Programming and Scripting
I am looking for help in processing of those options: '-n' or '-p'
I understand what they do and how to use them.
But, I would like to use them with more than one file (and without any shell-loop; loading the 'perl' once.)
I did try it and -n works on 2 files.
Question is:
- is it possible to... (6 Replies)
Discussion started by: alex_5161
6 Replies
LEARN ABOUT MINIX
opendir
OPENDIR(3) Linux Programmer's Manual OPENDIR(3)
NAME
opendir, fdopendir - open a directory
SYNOPSIS
#include <sys/types.h>
#include <dirent.h>
DIR *opendir(const char *name);
DIR *fdopendir(int fd);
Feature Test Macro Requirements for glibc (see feature_test_macros(7)):
fdopendir():
Since glibc 2.10:
_POSIX_C_SOURCE >= 200809L
Before glibc 2.10:
_GNU_SOURCE
DESCRIPTION
The opendir() function opens a directory stream corresponding to the directory name, and returns a pointer to the directory stream. The
stream is positioned at the first entry in the directory.
The fdopendir() function is like opendir(), but returns a directory stream for the directory referred to by the open file descriptor fd.
After a successful call to fdopendir(), fd is used internally by the implementation, and should not otherwise be used by the application.
RETURN VALUE
The opendir() and fdopendir() functions return a pointer to the directory stream. On error, NULL is returned, and errno is set appropri-
ately.
ERRORS
EACCES Permission denied.
EBADF fd is not a valid file descriptor opened for reading.
EMFILE The per-process limit on the number of open file descriptors has been reached.
ENFILE The system-wide limit on the total number of open files has been reached.
ENOENT Directory does not exist, or name is an empty string.
ENOMEM Insufficient memory to complete the operation.
ENOTDIR
name is not a directory.
VERSIONS
fdopendir() is available in glibc since version 2.4.
ATTRIBUTES
For an explanation of the terms used in this section, see attributes(7).
+-----------------------+---------------+---------+
|Interface | Attribute | Value |
+-----------------------+---------------+---------+
|opendir(), fdopendir() | Thread safety | MT-Safe |
+-----------------------+---------------+---------+
CONFORMING TO
opendir() is present on SVr4, 4.3BSD, and specified in POSIX.1-2001. fdopendir() is specified in POSIX.1-2008.
NOTES
Filename entries can be read from a directory stream using readdir(3).
The underlying file descriptor of the directory stream can be obtained using dirfd(3).
The opendir() function sets the close-on-exec flag for the file descriptor underlying the DIR *. The fdopendir() function leaves the set-
ting of the close-on-exec flag unchanged for the file descriptor, fd. POSIX.1-200x leaves it unspecified whether a successful call to
fdopendir() will set the close-on-exec flag for the file descriptor, fd.
SEE ALSO
open(2), closedir(3), dirfd(3), readdir(3), rewinddir(3), scandir(3), seekdir(3), telldir(3)
COLOPHON
This page is part of release 4.15 of the Linux man-pages project. A description of the project, information about reporting bugs, and the
latest version of this page, can be found at https://www.kernel.org/doc/man-pages/.
GNU
2017-09-15 OPENDIR(3)