Search for columns with numbers greater than 70


 
Thread Tools Search this Thread
Top Forums UNIX for Advanced & Expert Users Search for columns with numbers greater than 70
# 1  
Old 07-31-2019
Search for columns with numbers greater than 70

This helped get me started.

need a command to search for numbers greater than 3000

This is the command I am using. I am trying to find numbers greater than 70 in column 5. I do not know if it is getting confused because there is a % at the end or if it because there is a single digit in column 5,

Code:
grep dev file | awk '$5 > 70'

This is my data that I get after I run the command. It is mostly correct except for the random 8% and 9%.

Code:
server1: /dev/hd4           1.00      0.29   72%    22385    24% /
server2: /dev/hd4           1.00      0.07   93%    25802    54% /
server3: /dev/hd4           2.00      0.55   73%    25416    16% /
server4: /dev/hd4           1.00      0.91    9%     6065     3% /
server5: /dev/hd4           2.00      0.51   75%    29052    20% /
server6: /dev/hd4           1.00      0.92    8%     5521     3% /
server7: /dev/hd4           4.00      3.64    9%     5314     1% /
server8: /dev/hd4           5.00      4.62    8%     5248     1% /

# 2  
Old 07-31-2019
Hello cokedude,

Could you please try following(I haven't tested it though).

Code:
awk '/dev/ && $5+0 > 70'  Input_file

Thanks,
R. Singh
These 2 Users Gave Thanks to RavinderSingh13 For This Post:
# 3  
Old 08-01-2019
The trailing % sign makes $5 a string, and the > compares strings.
The +0 ensures that the > compares numbers.
Most awk versions will then ignore the trailing % sign.
But a few awk versions convert such strings to zero; they need
Code:
awk 'sub(/%$/,"",$5) && $5 > 70'

The sub() should return 1 (true) on a successfull substitution. So maybe you can omit a further test like $2~/dev/.
This User Gave Thanks to MadeInGermany For This Post:
# 4  
Old 08-01-2019
Code:
awk '$5 > 70' FS="[ %] *" infile


Last edited by rdrtx1; 08-02-2019 at 10:24 AM.. Reason: had several options. pasted from wrong buffer. updated.
This User Gave Thanks to rdrtx1 For This Post:
# 5  
Old 08-01-2019
Quote:
Originally Posted by rdrtx1
Code:
awk '/dev/ && $5 ~ /[7-9][1-9]%/' infile

Hi rdrtx1,
Unfortunately, the above script won't match 80%, 90%, or 100%. One could use:
Code:
awk '/dev/ && $5 ~ /([7-9][1-9]|(8|9|10)0)%/' infile

but I find the suggestions provided by RavinderSingh13 and MadeInGermany easier to read.

I don't know of any versions of awk written since 1980 that won't accept $5+0 to strip off the trailing percent sign and then perform a numeric comparison (as required by the standards), but if you run into an awk that doesn't handle that correctly, MadeInGermany's approach will handle those cases while Ravinder's approach won't. I don't remember for sure whether or not the original awk written in the 1970's by Aho, Weinberg, and Kernighan handled this case or not; but I thought it did.
These 2 Users Gave Thanks to Don Cragun For This Post:
# 6  
Old 08-02-2019
All of the above methods work. Thank you. RavinderSingh13 what does the extra 0 do? rdrtx1 and Don Cragun can you please explain your methods?
# 7  
Old 08-02-2019
Quote:
Originally Posted by cokedude
All of the above methods work. Thank you. RavinderSingh13 what does the extra 0 do? rdrtx1 and Don Cragun can you please explain your methods?
There is no extra zero in the code RavinderSingh13 provided. The reason the +0 is present in his code has already been explained by MadeInGermany in post #3 in this thread.

I simply created an extended regular expression that matches the values you want (i.e., those with the values 71% through 100%) in field #5 of your input.

If you can't read an ERE and determine what it matches, I strongly suggest that you follow my advice in post #5 and use one of the suggestions posted by RavinderSingh13 and MadeInGermany.
Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

Calculate percentage of columns greater than certain value in a matrix using awk

This matrix represents correlation values. Is it possible to calculate the percentage of columns (a1, a2, a3) that have a value >= |0.5| and report the percentage that has positive correlation >0.5 and negative correlation <-0.5 separately. thanx in advance! input name a1 a2 a3... (5 Replies)
Discussion started by: quincyjones
5 Replies

2. Shell Programming and Scripting

Adding (as in arithmetic) to numbers in columns in file, and writing new file with new numbers

Hi again. Sorry for all the questions — I've tried to do all this myself but I'm just not good enough yet, and the help I've received so far from bartus11 has been absolutely invaluable. Hopefully this will be the last bit of file manipulation I need to do. I have a file which is formatted as... (4 Replies)
Discussion started by: crunchgargoyle
4 Replies

3. 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

4. Shell Programming and Scripting

How to search for numbers greater than x?

I have a file with multiple fields, example below File 1: Field 1|Field 2|Field 3|Field 4|Field 5|Field 6|Field 7|100 Field 1|Field 2|Field 3|Field 4|Field 5|Field 6|Field 7|101 Field 1|Field 2|Field 3|Field 4|Field 5|Field 6|Field 7|102 Field 1|Field 2|Field 3|Field 4|Field 5|Field... (4 Replies)
Discussion started by: castrojc
4 Replies

5. Shell Programming and Scripting

search file for value greater than 'n' on each line and email

Hi, I need to write a script that will read each line of a CSV file, look for values greater than x seconds and email an alert. For the first part, I have one CSV per day, each line in the CSV has comma separated values. There are a total of 8 fields per line separated by commas. 6th and 7th... (3 Replies)
Discussion started by: ssid
3 Replies

6. Shell Programming and Scripting

search column and delete row if greater than value

Hi, as the title states i need to find a way to search a column for values great than 1000, and if it is, then delete that row. An example 1 7.021 6.967 116.019 4 U 6.980E+07 0.000E+00 e 0 0 0 0 2 8.292 7.908 118.063 3 U 1.440E+07 0.000E+00 e 0 821 814 ... (3 Replies)
Discussion started by: olifu02
3 Replies

7. Shell Programming and Scripting

[Solved] Select the columns which have value greater than particular number

i have a file of the form 9488 14392 1 1.8586e-07 5702 7729 1 1.8586e-07 9048 14018 1 1.8586e-07 5992 12556 1 1.8586e-07 9488 14393 1 1.8586e-07 9048 14019 1 1.8586e-07 5992 12557 1 1.8586e-07 9488 14394 ... (1 Reply)
Discussion started by: vaibhavkorde
1 Replies

8. UNIX for Dummies Questions & Answers

need a command to search for numbers greater than 3000

i have a file contains: 13213,A,300 3423,C,200 5563,A,201 3000,A,400 3000,A,402 3000,A,206 3000,A,303 3000,A,200 4233,N,204 i need to search for numbers in the first column are greater than 3000? i have another issue if you can help me? if i want to search in the second or the... (7 Replies)
Discussion started by: takyeldin
7 Replies

9. Shell Programming and Scripting

replacing numbers greater than 0 with 1

I have some ASCII files containing numerous numbers. What I'd like to do is replace all numbers greater than 0 with 1. Examples of the numbers include: - 000011 and 000042 Thanks (4 Replies)
Discussion started by: vrms
4 Replies

10. Shell Programming and Scripting

How to perform calculations using numbers greater than 2150000000.

Could someone tell me how to perform calculations using numbers greater than 2150000000 in Korn Shell? When I tried to do it it gave me the wrong answer. e.g. I have a ksh file with the contents below: --------------------------------- #!/bin/ksh SUM=`expr 2150000000 + 2` PRODUCT=`expr... (3 Replies)
Discussion started by: stevefox
3 Replies
Login or Register to Ask a Question