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?
Commands in UNIX are case-sensitive, you can't just capitalize random things. Also, awk is missing a quote.
Quote:
Originally Posted by bharat1211
Also, that can be simplified a lot...
1) awk does not need cat's help to read a file.
2) awk's separator defaults to space, -F" " is redundant.
3) grep can count all by itself, via -c.
4) You don't need ls and awk to loop through a directory.
5) You especially don't need to ls -l -t then just throw away everything -l -t does for you.
ls -r -l -t | awk '{ print $9 }' | ... simplifies to ls -r | ... See man ls to learn what these options do.
6) If test.txt already existed, you'd be adding to it instead of replacing it, ending up with more filenames than you expected. Use > instead of >> to overwrite.
7) You don't need a temporary file. You can pipe into a loop as easily as anything else -- in fact you do so already, but didn't join the two.
8) find is often better than ls -r. You can tell it to find only files, for example (which is what -type f means.)
9) You don't need to run grep 12 times for 12 files. It's quite capable of counting more than one file.
Since "echo a b c d e | xargs cat" is equivalent to "cat a b c d e", we can feed find's list of files into xargs grep to grep many files at once.
It will print lines like filename:2 which we can read directly, telling the shell to split on : (The -H forces grep to always print the filename)
10) You only check for two and exactly two matches. You'd miss a file which had three. Try -ge for "greater than or equal to".
Last edited by Corona688; 07-30-2014 at 05:56 PM..
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)
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)
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)
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)
: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)
Hey,
I have a Find command like:
find $searchDir -type f
and this returns a list of files under the directory, which is all good, but, I want to filter that search for files that contain the string "people"
I tried something like:
find $searchDir -type f -exec grep "people" '{}'... (2 Replies)
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)
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)
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)
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)