Pattern match in grep


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting Pattern match in grep
# 1  
Old 08-25-2008
Pattern match in grep

Hi,

I try to grep lines with pattern like

float_or_int float_or_int float_or_int

where float_or_int is any float or any integer of any length.

I tried some :

Code:
grep "[0-9]* [0-9]* [0-9]*" FILENAME   #Work for integers but not for floats
grep '\<[0-9].*[0-9]\> \<[0-9].*[0-9]\> \<[0-9].*[0-9]\>' FILENAME #Work for float but not for integers
grep "[0-9]?* [0-9]?* [0-9]?*" FILENAME # Work only for integers

I realise, by the way, that I dont really understand how to use the . and the ? chars. If you can help on that also, it will be appreciated.

Thanks a lot,

Tipi
# 2  
Old 08-25-2008
Did you try something like this base character class
Code:
[0-9\.].*

which does find either decimal or integer values - what I think you are trying to do. You can add word boundaries or whatever else you need.
# 3  
Old 08-25-2008
Quote:
Originally Posted by jim mcnamara
Did you try something like this base character class
Code:
[0-9\.].*

which does find either decimal or integer values - what I think you are trying to do. You can add word boundaries or whatever else you need.
This worked :
Code:
grep "[0-9\.].* [0-9\.].* [0-9\.].*" FILENAME
grep "[0-9].* [0-9].* [0-9].*" FILENAME

What the \. mean?

Thanks a lot!

Tipi
# 4  
Old 08-25-2008
. is a metacharacter in regular expressions. the escaped dot:\. means 'take the . as a real character not a metacharacter'
Otherwise the . matches any character, including characters that are not numbers.

[0-9]*.[0-9]* will match "13b4" - as an example. 13b4 is not a number in terms of what you want.
# 5  
Old 08-25-2008
Thank you for your answer, really appreciated!


EDIT: I had to use [0-9\.\-].* instead of [0-9\.].* to grep also negative values...

Last edited by tipi; 08-26-2008 at 10:21 AM..
Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

Grep everything between two pattern if match not found

I need to help to work this Print everything between 2 patterns if grep is not found the search word example Detroit orange cat bat rat apple sed -n "/Detroit,/apple/p" d |grep chicago output would be Detroit orange cat bat rat (1 Reply)
Discussion started by: jhonnyrip
1 Replies

2. Shell Programming and Scripting

Pattern match using grep between two files

Hello Everyone , I have two files. I want to pick line from file-1 and match with the complete data in file-2 , if there is a match print all the match lines in file 3. Below is the file cat test1.txt vikas vikasjain j ain testt douknow hello@vik@ # 33 ||@@ vcpzxcmvhvdsh... (1 Reply)
Discussion started by: mailvkjain
1 Replies

3. Shell Programming and Scripting

unable to match grep pattern

Hi All, I am trying to select all files in a directory which are not with .gz extension . for which I am using below script , but its rejecting both .gz and .z extension files,as in each letter is considered separately. PFB ls -lrt | awk '{print $9}'| egrep "^IRAMS.*$" please suggest... (1 Reply)
Discussion started by: Jcpratap
1 Replies

4. Shell Programming and Scripting

awk or grep to match # of words before and after pattern

Pipe binary file matches grep results to file I am using grep to match a pattern, but the output is strange. $ grep -r -o "pattern" * Gives me: Binary file foo1 matches Binary file foo2 matches Binary file foo3 matches To find the lines before/after, I then have to use the... (1 Reply)
Discussion started by: chipperuga
1 Replies

5. Shell Programming and Scripting

grep - match files containing minimum number of pattern matches

I want to search a bunch of files and list only those containing a minimum number of pattern matches. So if I want to identify files containing 3 (or more) instances of the pattern "said:" and I have file1 that contains the lines: He said: She said: and file2 that contains the lines: He... (3 Replies)
Discussion started by: stumpyuk
3 Replies

6. Shell Programming and Scripting

shell script: grep multiple lines after pattern match

I have sql file containing lot of queries on different database table. I have to filter specific table queries. Let say i need all queries of test1,test2,test3 along with four lines above it and sql queries can be multi lines or in single line. Input file contains. set INSERT_ID=1; set... (1 Reply)
Discussion started by: mirfan
1 Replies

7. Solaris

Using grep to print just the pattern match

Hi all, Is it possible for grep to output just the pattern match and not the whole line when it comes across a match? I know you can adjust the number of trailing or leading lines that are printed, but am yet to find anything that outputs just the pattern match. Cheers, Tim (5 Replies)
Discussion started by: muzzaw
5 Replies

8. UNIX for Dummies Questions & Answers

Lynx Grep Pattern Match 2 conditions Print from Start to End

I am working on a scraping project and I am stuck at this tiny grep pattern match. Sample text : FPA List. FPA List. FPA List. FPA List. FPA List. FPA List. FPA List. FPA List. ABC Personal Planning Catherine K. Wat Cath Wat Catherine K. Wat Catherine K. Wat IFRAME:... (8 Replies)
Discussion started by: kkiran
8 Replies

9. Shell Programming and Scripting

Grep to match unknown pattern

Hi there I would like to search a file for a certain pattern, but i don't know the exact pattern i need to search for. What i do know is that i need to search for the pattern that exists the most in a certain file. so if a file looksike this: summer, summer, winter, spring, summer... (4 Replies)
Discussion started by: mrchilly
4 Replies

10. UNIX for Dummies Questions & Answers

how to use pattern match with grep

hi, i'm having problem like this. i wish to grep some keyword from certain files in one directory. let's say i have a lot of files in my directory with the name of file.1 file.2 file.3 ...... file.500 i only wish to grep the keyword from file.20, file.21, file.23 .... file.50 i tried... (5 Replies)
Discussion started by: rei
5 Replies
Login or Register to Ask a Question