AWK regex to find only numbers


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting AWK regex to find only numbers
# 1  
Old 10-28-2010
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.
Code:
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 out

tx in advance

Moderator's Comments:
Mod Comment Use [code] and [/code] tags when posting code, data or logs etc. to preserve formatting and enhance readability, thanks.

Last edited by zaxxon; 10-28-2010 at 06:22 AM..
# 2  
Old 10-28-2010
Try this,

Code:
awk '$0 !~ /[a-z]/ && $0 != 0' inputfile

This User Gave Thanks to pravin27 For This Post:
# 3  
Old 10-28-2010
Thanks for the speedy reply

but i sort of forgot to mention that the file may include non alphanumaric values as well
for eg:

Code:
@3323##
##4232$#

i need them filtered out as well

and p.s i think you can use
Code:
[[:alpha:]]

instead of
Code:
 [a-z]


Last edited by sridanu; 10-28-2010 at 06:50 AM..
# 4  
Old 10-28-2010
Code:
awk '!/[^0-9-]/&&!/^-?0+$/' file

This User Gave Thanks to bartus11 For This Post:
# 5  
Old 10-28-2010
sed-way..
Code:
sed -e '/[1-9]/!d' -e '/a/d' -e 's/[#@$]//g' inputfile

# 6  
Old 10-28-2010
Thankx the sed command worked Smilie
# 7  
Old 10-28-2010
Hi bartus11,

Could you please explain your code ?
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

Sed/awk to find negative numbers and replace with 1?

Greetings. I have a three column file, and there are some numbers in the second column that are <1. However I need all numbers to be positive, thus need to replace all those numbers with just one. I feel like there must be a simple way to use awk to find these numbers and sed to replace but can't... (5 Replies)
Discussion started by: Twinklefingers
5 Replies

3. UNIX for Dummies Questions & Answers

Find common numbers from two very large files using awk or the like

I've got two files that each contain a 16-digit number in positions 1-16. The first file has 63,120 entries all sorted numerically. The second file has 142,479 entries, also sorted numerically. I want to read through each file and output the entries that appear in both. So far I've had no... (13 Replies)
Discussion started by: Scottie1954
13 Replies

4. Shell Programming and Scripting

Regex - Return numbers of exactly 8 digits

Hi All I am new to this forum and also regex. I am using bash scripting and have a file like this "0012","efgh","12345678","adfdf", "36598745" "87654321","hijk","lmno" I want the ouput to be 12345678 36598745 87654321 Criteria like this - number - 8 carachters long Please let... (21 Replies)
Discussion started by: buttseire
21 Replies

5. Shell Programming and Scripting

Regex/egrep matching numbers in brackets

Experts: I don't know that regular expressions will ever be easy for me, so if one of you guru's could help out, I'd appreciate it. I'm trying to match a line in our syslog, but I can't figure out how to match a number inside a bracket. This is what I'm trying to match. "Jul 16 00:01:34... (2 Replies)
Discussion started by: jdveencamp
2 Replies

6. Shell Programming and Scripting

regex help with 'find'

How to do alternation using regular expressions in the 'find' command? Like say you want to find all files that do not match the names specifically "this" or "that" within a directory using regular expressions? (10 Replies)
Discussion started by: stevensw
10 Replies

7. Shell Programming and Scripting

awk and regex to find out file extension

From following data, I want to only publish those lines in which column 6 has the value with extension .dat. col1,col2,col3,col4,col5,col6.txt,col7,col8 col1,col2,col3,col4,col5,col6.date,col7,col8 col1,col2,col3,col4,col5,col6.jpg,col7,col8 col1,col2,col3,col4.dat,col5,col6.dat,col7,col8... (3 Replies)
Discussion started by: fahdmirza
3 Replies

8. Shell Programming and Scripting

Awk : find progressive increase in numbers

NR_037575 -0.155613339079513 -0.952655362767482 -1.42096466949375 -0.797042023687969 -1.26535133041424 -0.468309306726272 NR_037576 0.59124585320226 0.408702582537126 0.888885242203586 -0.182543270665134 0.297639389001326 0.480182659666459... (4 Replies)
Discussion started by: quincyjones
4 Replies

9. Shell Programming and Scripting

Find with RegEx

I have some files in unix ls -1 TMH.backend.tar.421E-03.Z TMH.backend.tar.421E-04.Z TMH.backend.tar.421E-05.Z TMH.backend.tar.421E-06.Z TMH.backend.tar.421E-07.Z TMH.backend.tar.421E-08.Z TMH.backend.tar.421E-08.Z.bak20081223164844 TMH.backend.tar.421E-09.Z... (1 Reply)
Discussion started by: on9west
1 Replies

10. Shell Programming and Scripting

to find numbers using awk

suppose u have a file 23 33 44 66 55 88 Another file 49 34 49 90 So to find where these numbers lie between in the first file output shud be while using second file and search for the first file 44 66 - 23 33 44 66 - (1 Reply)
Discussion started by: cdfd123
1 Replies
Login or Register to Ask a Question