grep not equal to condition


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting grep not equal to condition
# 1  
Old 08-22-2012
grep not equal to condition

I have below files under dir_a and dir_b and i want to sort out number of dir_a and dir_b files seperately and if i do the grep it should retrun 2 files in dir_a and 1 file in dir_b.

/dir_a/12345678
/dir_a/87654321
/dir_a/dir_b/12345687

But i am getting
Code:
cat file|grep dir_a|wc -l
       3
cat file|grep dir_b|wc -l
       1

Is there a way we can issue a not equal to condition in grep?
# 2  
Old 08-22-2012
Yes use -v switch to grep; also pass filename to grep and avoid using cat:
Code:
grep -v 45 file
/dir_a/87654321

I don't believe a not grep expression will solve your issue. Perhaps you want something like grep "^/dir_a/", this will print any line that begins with "/dir_a/"
# 3  
Old 08-22-2012
Quote:
Originally Posted by Chubler_XL
Yes use -v switch to grep; also pass filename to grep and avoid using cat:
Code:
grep -v 45 file
/dir_a/87654321

I don't believe a not grep expression will solve your issue. Perhaps you want something like grep "^/dir_a/", this will print any line that begins with "/dir_a/"
I have already tried those conditions but no luck, so when i want to count files in dir_a it should only give me 2 files but not 3. Is there a better wat to get the accurate number.
Code:
cat file|grep dir_a|wc -l
       3
cat file|grep dir_b|wc -l
       1

---------- Post updated at 03:40 PM ---------- Previous update was at 03:37 PM ----------

Quote:
Originally Posted by Chubler_XL
Yes use -v switch to grep; also pass filename to grep and avoid using cat:
Code:
grep -v 45 file
/dir_a/87654321

I don't believe a not grep expression will solve your issue. Perhaps you want something like grep "^/dir_a/", this will print any line that begins with "/dir_a/"
Btw if it begins with dir_a also i will see 3 files in dir_a even though there are only 2 because when i have a list of files in one file with the full path, that is how you will get the number.
# 4  
Old 08-22-2012
Code:
grep '^/dir_a/[^/]*$'

Regards,
Alister
These 2 Users Gave Thanks to alister For This Post:
# 5  
Old 08-22-2012
Quote:
Originally Posted by alister
Code:
grep '^/dir_a/[^/]*$'

Regards,
Alister
This worked like a charmSmilie
# 6  
Old 08-22-2012
For the input you listed, the following should work:
Code:
grep -c -e "^/dir_a/[^/]*$" file
grep -c -e "^/dir_a/dir_b/[^/]*$" file

This User Gave Thanks to Don Cragun For This Post:
# 7  
Old 08-22-2012
Quote:
Originally Posted by Don Cragun
For the input you listed, the following should work:
Code:
grep -c -e "^/dir_a/[^/]*$" file
grep -c -e "^/dir_a/dir_b/[^/]*$" file

This worked like a CHARM Smilie
Login or Register to Ask a Question

Previous Thread | Next Thread

9 More Discussions You Might Find Interesting

1. UNIX for Dummies Questions & Answers

Grep with condition

I have file input AAAA_XX_Start> rlong . 0W 130526-11:36:13 10.128.13.226 9.0j RBS_NODE_MODEL_N_1_50 stopfile=/tmp/13019 .. ================================================================================================================= MO ... (2 Replies)
Discussion started by: radius
2 Replies

2. UNIX for Dummies Questions & Answers

How to grep with certain condition?

hi all, i have an xml what i have to do is to search for the source id(s1) and if it matches with that in xml then extract the file mask from the name of the file i.e if the file name is idr_%YYYY%%MM%%DD%_%N%.idr then , i want the part after first % and before last % ie in this case ... (5 Replies)
Discussion started by: ramsavi
5 Replies

3. UNIX for Dummies Questions & Answers

Grep certain lines with condition

file input aaaa,52C aaaa,50C bbbb,50C bbbb,58C aaaa,52C bbbb,50C aaaa,30C bbbb,58C cccc,60C i want to print uniq lines with its max value of column2 expected output aaaa,52C bbbb,58C cccc,60C tks (4 Replies)
Discussion started by: radius
4 Replies

4. Shell Programming and Scripting

Where condition in grep or awk?

Dear All, I need help.. I am having a csv file. Home_TITLE,People_TITLE,Repo_ALIAS HMN5530,RKY5807,/mine_repo/rike001 HMN5530,SRY6443,/mine_repo/rike001 HMN5530,ARDY001,/mine_repo/rike001 If i have two value in varible RKY5807, HMN5530. how can fetch and store another value... (6 Replies)
Discussion started by: yadavricky
6 Replies

5. Shell Programming and Scripting

grep in the if condition

Hi, In this code can able to match the pattern without case sensitive. Is that possible? if u knw plz help me... code: echo "Enter name to search" read n if ; echo "name found" else echo "Not Found" fi (8 Replies)
Discussion started by: boopal
8 Replies

6. Shell Programming and Scripting

grep inside if condition - need help

hi i need help with below code. if ] then log "Exiting the script as ID= NULL" log "Please run script first." fi i am calling grep inside this but its not running any ideas why ?? input file is like this -- Msg 102, Level 20, State 1: Server... (4 Replies)
Discussion started by: dazdseg
4 Replies

7. Homework & Coursework Questions

Grep line above X condition

1. The problem statement, all variables and given/known data: I have to grep a data file called datebook.txt. The last information in each line is a salary. I have to grep all the lines which precede those lines with 6 figure salaries. I can't SID it, or use Perl. It has to be grep (or egrep or... (3 Replies)
Discussion started by: DrSammyD
3 Replies

8. Shell Programming and Scripting

grep command with AND condition

I want to do a grep with AND condition. I have three files. file1.txt ======== UNIX ...... WINDOWS ........ ORACLE file2.txt ======== UNIX ....... WINDOWS ...and many such files in a directory (6 Replies)
Discussion started by: prasperl
6 Replies

9. UNIX for Dummies Questions & Answers

while loop not taking the not equal to condition

Hi I am trying to write a code like this echo "enter a type" read a_type while || || || || || do echo "invalid engine type Please enter correct a_type" read engine_type < /dev/tty done My problem is that even if i give the a_type as the correct one that i have listed above that... (9 Replies)
Discussion started by: ssuresh1999
9 Replies
Login or Register to Ask a Question