pipe grep command


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting pipe grep command
# 1  
Old 05-14-2009
Question pipe grep command

Hi all,
Can someone help me with the following problem.
I am executing the following command:
(search for occurences of 'error' in files that match cl-*.log expression)
> grep -cw -i --max-count=1 'error' cl-*.log
this command outputs:
cl-apache.log:1
cl-apache_error.log:1
cl-apache_warn.log:1
cl-apache_2009_05_13.log:1

Than I want to filter the results from this command and exclude lines
that are matching some user entered wildcard (lets say: exclude files
from the result that match 'cf-*err*'). So I tried the following command:
> grep -cw -i --max-count=1 'error' cl-*.log | grep -v 'cf-*err*'

I was expecting that the second command (grep -v 'cf-*err*') will
filter the first command OUTPUT, but instead, it saerch 'cf-*err*'
WITHIN each file Content, instead of fcommand output.

Any help is appretiated,
Thx
# 2  
Old 05-14-2009
The second grep can't be filtering on the basis of file contents because the ouyput you have given does not include any content or am i missing something?

I would do something like:

$ grep -wl error cl-*.log | grep -v error

The grep -wl will output the names of the files containing "error", but not errors (for instance) so then the "grep -v" removes filenames containg "error". is that what you are after?
# 3  
Old 05-14-2009
Yes, That's prety much what I was looking for.
Thanx for the quick reply, I appretiate.
# 4  
Old 05-14-2009
Quote:
Originally Posted by epro66
Hi all,
Can someone help me with the following problem.
I am executing the following command:
(search for occurences of 'error' in files that match cl-*.log expression)
> grep -cw -i --max-count=1 'error' cl-*.log
this command outputs:
cl-apache.log:1
cl-apache_error.log:1
cl-apache_warn.log:1
cl-apache_2009_05_13.log:1

Than I want to filter the results from this command and exclude lines
that are matching some user entered wildcard (lets say: exclude files
from the result that match 'cf-*err*'). So I tried the following command:
> grep -cw -i --max-count=1 'error' cl-*.log | grep -v 'cf-*err*'

I was expecting that the second command (grep -v 'cf-*err*') will
filter the first command OUTPUT,

That is what it does. Since the search pattern doesn't exist in the output of the first command, the output will be the same as that of the first command. If it's not, you are not posting the command that you actually ran.
Quote:
but instead, it saerch 'cf-*err*'
WITHIN each file Content, instead of fcommand output.

It could not do that; you didn't put any filenames on the command line, only a search pattern. Therefore, it can only search its standard input.
Login or Register to Ask a Question

Previous Thread | Next Thread

9 More Discussions You Might Find Interesting

1. UNIX for Dummies Questions & Answers

How To Pipe Find To Grep?

hi what wrong with my syntax here? find / -name "*dhcp*" | grep -l -r 'timeout' thanks (3 Replies)
Discussion started by: johnywhy
3 Replies

2. UNIX for Dummies Questions & Answers

Bash - CLI - grep - Passing result to grep through pipe

Hello. I want to get all modules which are loaded and which name are exactly 2 characters long and not more than 2 characters and begin with "nv" lsmod | (e)grep '^nv???????????? I want to get all modules which are loaded and which name begin with "nv" and are 2 to 7 characters long ... (1 Reply)
Discussion started by: jcdole
1 Replies

3. UNIX for Dummies Questions & Answers

Pipe grep to rm

We have a number of OS X 10.6 machines who have home folders with incorrect permissions, which are causing managed prefs not to be applied correctly and not allowing saving. I need to delete all home folders whose name is numerical and modified before a certain date. I'm not sure of the date part... (2 Replies)
Discussion started by: airlocksniffer
2 Replies

4. UNIX for Dummies Questions & Answers

Grep char count & pipe to sed command

Hi I am having a 'grep' headache Here is the contents of my file: (PBZ,CP,(((ME,PBZ,BtM),ON),((ME,((PBZ,DG),(CW9,PG11))),CW9,TS2,RT1))) I would like to count out how many times 'PBZ' occurs and then place that number in the line above 3... (8 Replies)
Discussion started by: cavanac2
8 Replies

5. Shell Programming and Scripting

pipe result from grep

Trying to create a command line script to look for all files matching a pattern, grep for a specific value in each file, and write out the filename long list. It's possible the filename won't containe the value. { echo “Running....” for fname in 811_Intermediate_File_* do grep -l... (3 Replies)
Discussion started by: gavineq
3 Replies

6. UNIX for Dummies Questions & Answers

Pipe results of Grep Command to LS Comand

I'm using the command grep -l XYZ to get a list of files containing the string XYZ. Then I using the comand ls -l ABC to get the create date timestamp of the each file. I've tried combining the comands using the pipe command, grep -l XYZ | ls -l, but its not working. What am I doing wrong? (3 Replies)
Discussion started by: jhtate
3 Replies

7. Shell Programming and Scripting

problem using a pipe to grep

Hello ! I want to process a text file in order to extract desired data using sed and grep... Now I am facing a problem piping to grep... nothing happens.. The text consists of blocks of 3 lines that may (or not) contain the Desired data. the desired data is on each 2... (4 Replies)
Discussion started by: ShellBeginner
4 Replies

8. Shell Programming and Scripting

Pipe Data From Grep Into A File

I am somewhat of a novice at unix scripting and I need a little help. Here is what im trying to do: I am trying to figure out how to pipe the following grep results into a file. /source/programs: grep "WSBL020" W* WBMB991.cbl: COPY WSBL020. WDCB003.cbl: COPY... (4 Replies)
Discussion started by: katinicsdad
4 Replies

9. UNIX for Dummies Questions & Answers

Filter results through pipe with grep

ls -ltr | grep string How can I use regular expressions to filter the results provided even more. I am using the above command as a reference. (1 Reply)
Discussion started by: ckandreou
1 Replies
Login or Register to Ask a Question