12-17-2008
Help using find/grep
I'm at /dir1
ls
dir2 dir3 dir4 dir5
In dir2-5 is at least one file.
I want to do a 'grep string' that traverses dir2 - dir5 and finds the string and prints out the file and directory name so I know where to go look.
Any ideas? I would have done a search but I wasn't sure what terms I should enter.
Thank you.
10 More Discussions You Might Find Interesting
1. Programming
Hi,
I need to find out a particular pattern from a directory, for example say X.
The X directory contains 10 c files, and it has subdirectory called Y, and Y has 20 c files within it.
Now I have to find out the pattern only from parent directory X not from sub directory Y.
I have... (4 Replies)
Discussion started by: sarwan
4 Replies
2. Shell Programming and Scripting
I have some patterns that I need to match with the content of several files and I'm having trouble to do it
Here is what I tried already :
ksh won't even execute this
#!/bin/ksh
path="/export/home/ipomwbas"
pattern=$path"/flags"
find . -name "*.properties" |\
while read file; do
... (7 Replies)
Discussion started by: flame_eagle
7 Replies
3. UNIX for Dummies Questions & Answers
Hey, I have a question about using grep and find together to locate all C programs in a directory containing certain words and open the vi editor with each file. I'm not sure how to do this in one command (as in one line). I know find has a "-exec" option that can call vi, but how do you combine... (1 Reply)
Discussion started by: MEllis5
1 Replies
4. UNIX for Dummies Questions & Answers
HI
what is the difference between find and grep
if I want to find all the files from different directories which contain "ORA" error, and the line number in each file which has ORA error
should I use pipeline ?
thanks
James (3 Replies)
Discussion started by: james94538
3 Replies
5. UNIX for Dummies Questions & Answers
:wall:Hello, Im having trouble using the find and grep combined into one command. I have the following:
find filname* -mmin -60 grep "ERROR" filename
I want to find the "ERROR" text in any file created in the last hour in the current directory. I dont know how to end the command. If I leave... (3 Replies)
Discussion started by: aispg8
3 Replies
6. UNIX for Dummies Questions & Answers
I have a file called 'test.txt' that contains alphanumeric charecters.
The file contains the word 'SBE' followed by other alphabets many times. For example, the file will contain: SBE334GH and also will have SBE77Y8I.
When i do grep 'SBE*' test.txt - it outputs the entire file.
Can you... (5 Replies)
Discussion started by: DallasT
5 Replies
7. Shell Programming and Scripting
Hi all ,
I'm new to unix
I have a checked project , there exists a file called xxx.config .
now my task is to find all the files in the checked out project which references to this xxx.config file.
how do i use grep or find command . (2 Replies)
Discussion started by: Gangam
2 Replies
8. UNIX for Dummies Questions & Answers
How can I recursively find all files in a directory and print out the file and first line number of any text blocks that match the below cases?
This would seem to involve find, xargs, *grep, regex, etc.
In summary, I want to find so-called empty "try-catch blocks" that do not contain code... (0 Replies)
Discussion started by: lifechamp
0 Replies
9. Shell Programming and Scripting
Is it possible with find and Grep to search files under a directory and display only files that have multiple occurrence of a string (In AIX)? Anybody has an example code? If not what are the other options?
Thanks in advance. (7 Replies)
Discussion started by: J_ang
7 Replies
10. UNIX for Beginners Questions & Answers
Hi,
On AIX,
We have several moveplan.xml files in different folders.
I run:
find /u0/appl_top/ -name moveplan.xml -exec grep -i Passphrase {} \;
And it returns
<name>Custom Identity Keystore Passphrase File</name>
<name>Custom Trust Keystore Passphrase File</name>
... (4 Replies)
Discussion started by: big123456
4 Replies
LEARN ABOUT DEBIAN
file::dircompare
DirCompare(3pm) User Contributed Perl Documentation DirCompare(3pm)
NAME
File::DirCompare - Perl module to compare two directories using callbacks.
SYNOPSIS
use File::DirCompare;
# Simple diff -r --brief replacement
use File::Basename;
File::DirCompare->compare($dir1, $dir2, sub {
my ($a, $b) = @_;
if (! $b) {
printf "Only in %s: %s
", dirname($a), basename($a);
} elsif (! $a) {
printf "Only in %s: %s
", dirname($b), basename($b);
} else {
print "Files $a and $b differ
";
}
});
# Version-control like Deleted/Added/Modified listing
my (@listing, @modified); # use closure to collect results
File::DirCompare->compare('old_tree', 'new_tree', sub {
my ($a, $b) = @_;
if (! $b) {
push @listing, "D $a";
} elsif (! $a) {
push @listing, "A $b";
} else {
if (-f $a && -f $b) {
push @listing, "M $b";
push @modified, $b;
} else {
# One file, one directory - treat as delete + add
push @listing, "D $a";
push @listing, "A $b";
}
}
});
DESCRIPTION
File::DirCompare is a perl module to compare two directories using a callback, invoked for all files that are 'different' between the two
directories, and for any files that exist only in one or other directory ('unique' files).
File::DirCompare has a single public compare() method, with the following signature:
File::DirCompare->compare($dir1, $dir2, $sub, $opts);
The first three arguments are required - $dir1 and $dir2 are paths to the two directories to be compared, and $sub is the subroutine
reference called for all unique or different files. $opts is an optional hashref of options - see OPTIONS below.
The provided subroutine is called for all unique files, and for every pair of 'different' files encountered, with the following signature:
$sub->($file1, $file2)
where $file1 and $file2 are the paths to the two files. For 'unique' files i.e. where a file exists in only one directory, the subroutine
is called with the other argument 'undef' i.e. for:
$sub->($file1, undef)
$sub->(undef, $file2)
the first indicates $file1 exists only in the first directory given ($dir1), and the second indicates $file2 exists only in the second
directory given ($dir2).
OPTIONS
The following optional arguments are supported, passed in using a hash reference after the three required arguments to compare() e.g.
File::DirCompare->compare($dir1, $dir2, $sub, {
cmp => $cmp_sub,
ignore_unique => 1,
});
cmp By default, two files are regarded as different if their contents do not match (tested with File::Compare::compare). That default
behaviour can be overridden by providing a 'cmp' subroutine to do the file comparison, returning zero if the two files are equal, and
non-zero if not.
E.g. to compare using modification times instead of file contents:
File::DirCompare->compare($dir1, $dir2, $sub, {
cmp => sub { -M $_[0] <=> -M $_[1] },
});
ignore_cmp
If you want to see all corresponding files, not just 'different' ones, set the 'ignore_cmp' flag to tell File::DirCompare to skip its
file comparison checks i.e.
File::DirCompare->compare($dir1, $dir2, $sub,
{ ignore_cmp => 1 });
ignore_unique
If you want to ignore files that only exist in one of the two directories, set the 'ignore_unique' flag i.e.
File::DirCompare->compare($dir1, $dir2, $sub,
{ ignore_unique => 1 });
SEE ALSO
File::Dircmp, which provides similar functionality (and whose directory walking code I've adapted for this module), but a simpler
reporting-only interface, something like the first example in the SYNOPSIS above.
AUTHOR AND CREDITS
Gavin Carr <gavin@openfusion.com.au>
Thanks to Robin Barker for a bug report and fix for glob problems with whitespace.
COPYRIGHT AND LICENSE
Copyright 2006-2007 by Gavin Carr.
This library is free software; you can redistribute it and/or modify it under the same terms as Perl itself.
perl v5.10.1 2010-03-02 DirCompare(3pm)