grep not working ????


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting grep not working ????
# 1  
Old 01-04-2011
grep not working ????

Hi,

I've prob in doing grep. I want to grep line staring with number 531250 in the 1st column from a file (example in picture attached below)
grep not working ????-greppng

using command
Code:
grep -w "531250" file

my ideal result should be
Code:
531250  1       21      42.1    100     1e-05   rubber_UT_velvet.seq.Contig4570

instead it gives this output

Code:
21079   1       21      42.1    100     1e-05   NODE_50158_length_96_cov_5.531250
21079   1       21      42.1    100     1e-05   NODE_50158_length_96_cov_5.531250
23133   1       21      42.1    100     1e-05   NODE_50158_length_96_cov_5.531250
436591  1       21      42.1    100     1e-05   NODE_6486_length_160_cov_25.531250
531250  1       21      42.1    100     1e-05   rubber_UT_velvet.seq.Contig4570
594834  1       21      42.1    100     1e-05   NODE_50158_length_96_cov_5.531250
190670  1       21      42.1    100     1e-05   NODE_22903_length_224_cov_3.531250
287934  1       21      42.1    100     1e-05   NODE_58392_length_96_cov_2.531250

From the false result, I can see the grep find line that also contain 531250 but not exact one. I've already invoke grep -w option but still showing the same prob. Smilie

Hope somebody can help me with this.

Thanks in advance

Last edited by masterpiece; 01-09-2011 at 11:50 PM..
# 2  
Old 01-04-2011
Code:
grep '^531250' file

This User Gave Thanks to Franklin52 For This Post:
# 3  
Old 01-04-2011
From grep:
Anchoring
The caret ^ and the dollar sign $ are meta-characters that respectively match the empty string at the beginning and end of a line.
So you need to use:
Code:
grep -w ^531250 file


Last edited by m.d.ludwig; 01-04-2011 at 07:48 AM.. Reason: typo
This User Gave Thanks to m.d.ludwig For This Post:
# 4  
Old 01-04-2011
Quote:
Originally Posted by masterpiece
Hi,

I've prob in doing grep. I want to grep line staring with number 531250 in the 1st column from a file (example in picture attached below)
Attachment 1745

using command grep -w "531250" file

my ideal result should be

531250 1 21 42.1 100 1e-05 rubber_UT_velvet.seq.Contig4570

instead it gives this output

21079 1 21 42.1 100 1e-05 NODE_50158_length_96_cov_5.531250
21079 1 21 42.1 100 1e-05 NODE_50158_length_96_cov_5.531250
23133 1 21 42.1 100 1e-05 NODE_50158_length_96_cov_5.531250
436591 1 21 42.1 100 1e-05 NODE_6486_length_160_cov_25.531250
531250 1 21 42.1 100 1e-05 rubber_UT_velvet.seq.Contig4570
594834 1 21 42.1 100 1e-05 NODE_50158_length_96_cov_5.531250
190670 1 21 42.1 100 1e-05 NODE_22903_length_224_cov_3.531250
287934 1 21 42.1 100 1e-05 NODE_58392_length_96_cov_2.531250

From the false result, I can see the grep find line that also contain 531250 but not exact one. I've already invoke grep -w option but still showing the same prob. Smilie

Hope somebody can help me with this.

Thanks in advance
Code:
grep '^531250' inputfile

gives the expected output.

regards
# 5  
Old 01-04-2011
Not to be a pita, but:
Code:
grep '^531250' inputfile

is not correct, for while it will match:
Code:
531250  1       21      42.1    100     1e-05   rubber_UT_velvet.seq.Contig4570

it will also match:
Code:
531250187423987423987324987432

which was not intended, as per:
Quote:
Originally Posted by masterpiece
<snip>
I want to grep line staring with number 531250 in the 1st column from a file
<snip>
The -w option is needed, or the regex needs to be ^531250[[:space:]], although that would not select any line containing only the specified number.
# 6  
Old 01-04-2011
Quote:
Originally Posted by m.d.ludwig
Not to be a pita, but:
Code:
grep '^531250' inputfile

is not correct, for while it will match:
Code:
531250  1       21      42.1    100     1e-05   rubber_UT_velvet.seq.Contig4570

it will also match:
Code:
531250187423987423987324987432

which was not intended
The given solution is based on the given input file, I don't see any line like that.
# 7  
Old 01-04-2011
Hi all,

Thanks for the solutions. Really helpful.

After I banged my head to wall several times I've come out with another solution by using awk

Code:
awk '{if ($1==531250) print}' file

will also give the output that i want.


But from my understanding about grep, option '-w' will only grep exact string right? In other word, apart from my ideal output the rest should have not apear right? Or am i missing something Smilie

Last edited by masterpiece; 01-09-2011 at 11:51 PM..
Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. UNIX for Beginners Questions & Answers

Grep command is not working

I have made a program that reads a text file and checks for palindromic words and then outputs them. They each appear on a new line with a count of the number of occurences beside each of the words. Requirements for being classed as palindrome are that the word must have at least 3 letters and... (7 Replies)
Discussion started by: greenhouse91
7 Replies

2. Shell Programming and Scripting

-v and -f option for grep not working

In solaris, i m trying to find the files having a particulat extension and then from the list i want to exclude those files which is present in a file. But it seems the -f and -v option are not working find $source -type f -name $extn | /usr/xpg4/bin/grep -F -v -f $exclude | while read... (7 Replies)
Discussion started by: millan
7 Replies

3. Shell Programming and Scripting

Working with grep and Bash

Hi, I am currently working on a Bash shell script that - Downloads a webpage, in this case youtube.com - Extracts Number of views, Extracts Title of video, Extracts User who made it, and lastly Duration. Then I have to Out put this into columns. To me this sounds like crazyness. I'm very new... (6 Replies)
Discussion started by: Njzangel
6 Replies

4. Shell Programming and Scripting

Working with grep-output

Hi, 1st post Sorry for borrowing the thread. Hopefully this is doable. I need to write a script where I need to pick information from my grep-results. grep -n "s_" file | head -n 1 Output is like this: 6:s_9: 11-664 Fam_g442_99 So this gives me the first line of the file which... (2 Replies)
Discussion started by: Shell_y
2 Replies

5. Programming

Grep not working of jobs

I am using csh. Output of command jobs {145}>jobs + Running /home/alokg/nedit-5.5-Linux-x86/nedit .cshrc Running /home/alokg/nedit-5.5-Linux-x86/nedit build/irun_usb2.log Running /home/alokg/nedit-5.5-Linux-x86/nedit... (3 Replies)
Discussion started by: alokgarg79
3 Replies

6. UNIX for Dummies Questions & Answers

grep -f not working

Hello, I'm going crazy about this. I'm using grep to filter some values as in pas -ef | grep asterisk. When I use the same with -f somefile something weird happens, if somefile is created with vi it'll work, if somefile is created with vi but values are pasted from an Excell file it will not work.... (2 Replies)
Discussion started by: seveman
2 Replies

7. Shell Programming and Scripting

simple grep is not working for me

Hi, On the log Netscape log, I need to grep for 500 error. I am doing that but I also get 1500 in that same log. cat access |grep "500" Results: "GET /css/RBR.css HTTP/1.1" 200 15000 304 - - - 399 639 523 164 0 This not what I need... Please advice. (4 Replies)
Discussion started by: samnyc
4 Replies

8. UNIX for Dummies Questions & Answers

grep not working

This condition is not able to grep , can any one tell what's wrong with this part. I am able to see from unix command but not with host script. echo "Checking for Loader Status " >> $REPFILE if test $? = 0 then echo "Successful termination of SQL*Loader "$LOADER1 >>... (5 Replies)
Discussion started by: u263066
5 Replies

9. UNIX for Advanced & Expert Users

cat and grep not working

I am trying to cat a file and then grep that file for a number. I can do it fine on other files but this particular file will not do anything. I tried running it on an older file from the same device but it is just not working. The file is nothing more than a flat file on a unix box. Here is just a... (3 Replies)
Discussion started by: jphess
3 Replies

10. Solaris

grep -r isn't working

Hi, I was trying to use this particular option of grep grep -r 'Search_pattern' * This command should ideally search all the occurrences of Search_pattern recursively within a directory & print it on shell prompt. But this command is not doing what is expected. It just displays nothin! ... (8 Replies)
Discussion started by: harishmitty
8 Replies
Login or Register to Ask a Question