Visit Our UNIX and Linux User Community


grep question


 
Thread Tools Search this Thread
Top Forums UNIX for Dummies Questions & Answers grep question
# 1  
Old 10-04-2007
grep question

I wanted to search a for all lines containing ERROR but not errors that contained the word "foo" (for example). The only way I could figure out to do it was:

grep ERROR myfile.log | grep -v foo

is there a way to do this with one grep command instead of two? One grep is faster than two, especially for large files like log files.Smilie
# 2  
Old 10-04-2007
Use:

Code:
awk '/ERROR/&&!/foo/' file

or:

Code:
fgrep ERROR file|fgrep -v foo

# 3  
Old 10-05-2007
Sanju

Hi use
grep -r "ERROR" *
# 4  
Old 10-05-2007
radoulov, isn't "fgrep ERROR file|fgrep -v foo "-the same as doing "grep ERROR file | grep -v foo", except it uses fgrep instead of grep? Is there some advantage for fgrep in this case?

The awk thing is pretty cool - I tried it and it works great. I'll have to look into awk more - I know nothing about it (yet!).

sanjustudy, I don't understand how grep -r "ERROR" * will do what I want. I thought "-r" was for searching directories recursively. Also, I don't see how it searches for "foo".
# 5  
Old 10-05-2007
Quote:
Originally Posted by tim-bobby
radoulov, isn't "fgrep ERROR file|fgrep -v foo "-the same as doing "grep ERROR file | grep -v foo", except it uses fgrep instead of grep? Is there some advantage for fgrep in this case?
[...]
If you don't search for a RE, it should be faster:

Quote:
DESCRIPTION
The fgrep (fast grep) utility searches files for a character
string and prints all lines that contain that string. fgrep
is different from grep(1) and egrep(1) because it searches
for a string, instead of searching for a pattern that
matches an expression. It uses a fast and compact algorithm.
 

Previous Thread | Next Thread
Test Your Knowledge in Computers #862
Difficulty: Medium
Vue uses an HTML-based template syntax that allows binding the rendered DOM to the underlying Vue instance's data.
True or False?

10 More Discussions You Might Find Interesting

1. UNIX for Dummies Questions & Answers

Grep Question

My grep returns a row of data like this: 75=20130130;60=074338;61=985;511=55473883;452=115439;62=196;267=1; Is there a way for the grep to only return 60="something" and 511="something" ? Thanks in advance. (10 Replies)
Discussion started by: Carl2013
10 Replies

2. UNIX for Dummies Questions & Answers

Question on grep

Hello all, I'm trying to grep the string "scott" from all files whose names are like srvr*.log and that were created "Nov 15"...I'm trying the following command but throws an error message...seems like the syntax is incorrect.. grep scott < ls -l srvr*.log|grep "Nov 15" Thanks for your... (9 Replies)
Discussion started by: luft
9 Replies

3. Shell Programming and Scripting

Question about grep

is there anyway i can ask grep to only get the first line? as in the top command line line 1 <-- just grep this line line 2 line 3 ---------- Post updated at 04:24 PM ---------- Previous update was at 04:19 PM ---------- nvm.. found out that i can do it with |head (12 Replies)
Discussion started by: Nick1097
12 Replies

4. Shell Programming and Scripting

Question about grep

can anyone tell me what the \/$ means? from grep \/$ (8 Replies)
Discussion started by: Nick1097
8 Replies

5. Shell Programming and Scripting

grep question please

i have files with "DOMAINSOLVER ACMS" with any number of spaces in between the two words on its own line and i can find it with the following: grep -c "DOMAINSOLVER* ACMS" $FILENAMEbut i need to exclude any lines matching: "$DOMAINSOLVER". i've tried a variety of quoting and escaping with no luck.... (4 Replies)
Discussion started by: crimso
4 Replies

6. Shell Programming and Scripting

grep question

Hello, Is there a way in grep to remember patterns? For eg: int a,b,c,d,a; If a variable is declared twice, like in the previous example, I should be able to print only those lines. Is there a way to print only the lines where the variable name occurs more than once, using grep... (1 Reply)
Discussion started by: prasanna1157
1 Replies

7. UNIX for Dummies Questions & Answers

grep question

Instead of using the following command #dmesg | grep -v sendmail | grep -v xntpd How can I use just one grep -v and give both arguments. Please suggest thanks (4 Replies)
Discussion started by: Tirmazi
4 Replies

8. Shell Programming and Scripting

grep question

hello people, All my servers have 4 mounts with this norme. For example, if my hostname is siroe. df -h | grep `hostname` /dev/dsk/c1t3d0s6 404G 399G 800M 100% /siroe3 /dev/dsk/c1t2d0s6 404G 399G 800M 100% /siroe2 /dev/md/dsk/d6 20G 812M 19G ... (3 Replies)
Discussion started by: melanie_pfefer
3 Replies

9. UNIX for Dummies Questions & Answers

Grep Question

Hello Everybody, I have files; yyyymmdd.log which the data look like this; "Txid=9426043&MsgTxt=Thankyou&UserId=john&Password=jh2501" "Txid=9426150&MsgTxt=Thankyou&UserId=john&Password=jh2501" . . . "Txid=9426200&MsgTxt=Thankyou&UserId=john&Password=jh2501" Question 1: How to... (3 Replies)
Discussion started by: nazri76
3 Replies

10. UNIX for Dummies Questions & Answers

grep question

what is the format for grep if I want to search from the current directory and through all its subdirectories?:) (3 Replies)
Discussion started by: pkappaz
3 Replies

Featured Tech Videos