Regex - Return numbers of exactly 8 digits


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting Regex - Return numbers of exactly 8 digits
# 15  
Old 08-22-2012
Have you tried:

Code:
grep -o '[0-9]\{8\}' input.txt

-Rob.
# 16  
Old 08-22-2012
Quote:
Originally Posted by Rob Butler
Code:
grep -o '[0-9]\{8\}' input.txt

In addition to matching an 8-digit number, that will also extract 8 digits from longer numbers. That may or may not be desired.

Regards,
Alister
# 17  
Old 08-22-2012
All of the above solution looks perfectly good, i really don't know whats going on in your system.
You may try like this also:
Code:
grep -Ew '\"[0-9]{8}\"'  <file>| sed 's/''//g'

# 18  
Old 08-22-2012
Quote:
Originally Posted by InduInduIndu
All of the above solution looks perfectly good, i really don't know whats going on in your system.
The user mentioned that his system runs Linux. There's a good chance that its awk is gawk. Until the release of 4.0.0 (about a year ago), gawk's default regular expression syntax did not support intervals. Expressions such as [0-9]{8} would not work as intended (according to POSIX extended regular expression syntax) without the --posix or --re-interval command line option.

Regards,
Alister

Last edited by alister; 08-22-2012 at 02:12 PM..
# 19  
Old 08-22-2012
Regex - Return numbers of exactly 8 digits

You are right!

However, i dont understand why people go for awk, nawk, when simple things like grep works.

I simply follow this:
1. Can it be done by Basic Regex? => yes, go for grep & sed
2. No, and still can it be done by grep's -P & -E options? Yes then go for that.
3. Then i go for Awk & perl.

Yes, always condition applies. If something data/table/fileds awk is amazing.If somethings kind of subtitution then sed,perl are awesome.
# 20  
Old 08-22-2012
Quote:
Originally Posted by InduInduIndu
However, i dont understand why people go for awk, nawk, when simple things like grep works.

... <snip> ...

2. No, and still can it be done by grep's -P & -E options? Yes then go for that.
Not everyone is using GNU grep. That -P option is not implemented my most greps. I had never even heard of it until you mentioned it. Looking at the documentation, it doesn't sound like it's production ready even if portability is not a concern.

Quote:
-P
--perl-regexp
Interpret the pattern as a Perl regular expression. This is highly experimental and ‘grep -P' may warn of unimplemented features.
grep Programs - GNU Grep 2.14

Regards,
Alister
# 21  
Old 08-22-2012
Quote:
Originally Posted by itkamaraj
may be because of the awk version.

what is your awk version ?

Code:
 
awk --version

Hi itkamaraj,

GNU Awk 3.1.5

is this a problem as said in recent posts...?

Last edited by pamu; 08-23-2012 at 04:12 AM..
Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. Programming

RegEx find numbers above 25000

Hello, I am using the Sublime Plugin LogHighlight. I can use RegEx there to highlight some lines in sublime. Now I need to find every line, that has a number of above 25000. the lines look like this: smart_sdl.result: 8947 smart_sdm.result: 8947 smart_sdn.result: 25000 Currently I am... (3 Replies)
Discussion started by: blend_in
3 Replies

2. UNIX for Dummies Questions & Answers

Determine if first 2 digits of string match numbers

Trying to find out how to discover if the first 2 characters of a string are "22" Not sure how. I could use if ]; then echo "yes";fi But I think that will only grab the pattern 22 and not the first 2 digits. (5 Replies)
Discussion started by: newbie2010
5 Replies

3. Shell Programming and Scripting

Bash 3.2 - Array / Regex - IF 3rd member in array ends in 5 digits then do somthing...

Trying to do some control flow parsing based on the index postion of an array member. Here is the pseudo code I am trying to write in (preferably in pure bash) where possible. I am thinking regex with do the trick, but need a little help. pesudo code if == ENDSINFIVEINTS ]]; then do... (4 Replies)
Discussion started by: briandanielz
4 Replies

4. Shell Programming and Scripting

Regex find first 5-7 occurrences of a set of digits within a string

Using these strings as an example: <a onclick="doShowCHys=1;ShowWindowN(0,'/daman/man.php?asv4=145148&amp;playTogether=True',960,540,943437);return false;" title=""> <a onclick="doShowCHys=1;ShowWindowN(0,'/daman/man.php?asv4=1451486&amp;playTogether=True',960,540,94343);return false;" title=""> <a... (12 Replies)
Discussion started by: metallica1973
12 Replies

5. UNIX for Dummies Questions & Answers

Grep lines with numbers greater than 2 digits at the end of the line

I'm trying to grep lines where the digits at the end of each line are greater than digits. Tried this but it will only allow me to specify 2 digits. Any ideas would greatly be appreciated. grep -i '\<\{3,4,5\}\>' file ---------- Post updated at 05:58 PM ---------- Previous update was at 05:41... (1 Reply)
Discussion started by: jimmyf
1 Replies

6. Shell Programming and Scripting

Sed only digits not in numbers

Hi, I have a text file with an array of numbers such as : 123 1 456 45 9817 1 45 I would like to replace the digit "1" in a text file with "A". So it looks like this: 123 A 456 45 9817 A 45 If I use sed 's/1/A/g', I get A23 A 456 45 98A7 A 45 I... (3 Replies)
Discussion started by: jejeking
3 Replies

7. Shell Programming and Scripting

regex to match digits not in dates

hi all, im having problems. I need to change all number 10 in a text file to word form, or in short from 10->ten. the thing is number 10 including in dates such as 10/22/1997 or 03-10-2011 should not be changed. im having some trouble because the file contains numbers like "price range from... (11 Replies)
Discussion started by: perlishell
11 Replies

8. UNIX for Advanced & Expert Users

Regex pattern for multiple digits

Hello, I need to construct a pattern to match the below string (especially the timestamp at the beginning) 20101222100436_temp.dat The below pattern works _temp.dat However I am trying find if there are any other better representations. I tried {14}, but it did not work. I am on... (5 Replies)
Discussion started by: krishmaths
5 Replies

9. Shell Programming and Scripting

3 numbers and return the maximum

Hello, I am doing bash and for that doing excersices. The folowing one asks for 3 numbers and is suppose to return the maximum. An error should be returned if on of the numbers is missing. I managed to solve it. Can you give me other ways or advices. #!/bin/bash #Date: 2010.10.19 #Ecrire un... (5 Replies)
Discussion started by: flash80
5 Replies

10. Shell Programming and Scripting

AWK regex to find only numbers

Hi guys I need to find both negative and positive numbers from the following text file. And i also dont need 0. 0 8 -7 -2268 007 -07 -00 -0a0 0a0 -07a0 7a00 0a0 Can someone please give a regex to filter out the values in red. I tried a few things in awk but it didnt work... (9 Replies)
Discussion started by: sridanu
9 Replies
Login or Register to Ask a Question