How to replace the field values, which are greater than the specified value with TRUE?


 
Thread Tools Search this Thread
Top Forums UNIX for Beginners Questions & Answers How to replace the field values, which are greater than the specified value with TRUE?
# 1  
Old 04-30-2019
How to replace the field values, which are greater than the specified value with TRUE?

I have a csv file as given below,
Code:
	org1 	org2 	org3 	org4 	org5
gene1 	100 	80 	90 	80 	150
gene2 	30 	70 	50 	50 	115
gene3 	40 	120 	60 	40 	105
gene4 	20 	72 	40 	60 	20

I need to replace the fields are having values greater than 100 with "TRUE". I used the following commands to replace specific values. But I do not know how to replace all the fields which has value greater than 100 with "TRUE".
Code:
sed -e 's/100/TRUE/g' org1.xls

Thanks in advance.
# 2  
Old 04-30-2019
Well, greater than (or equal) 100 means three digits and more, right? Try
Code:
sed -e 's/[0-9]\{3,\}/TRUE/g' file
    org1     org2     org3     org4     org5
gene1     TRUE     80     90     80     TRUE
gene2     30     70     50     50     TRUE
gene3     40     TRUE     60     40     TRUE
gene4     20     72     40     60     20


Last edited by RudiC; 04-30-2019 at 07:54 AM..
This User Gave Thanks to RudiC For This Post:
# 3  
Old 04-30-2019
It works perfectly.
# 4  
Old 04-30-2019
Hello dineshkumarsrk,

Could you please try following.
Code:
awk 'FNR==1{print;next} {for(i=1;i<=NF;i++){if($i+0>100){$i="True"}}} 1'  Input_file  | column -t

Thanks,
R. Singh
This User Gave Thanks to RavinderSingh13 For This Post:
# 5  
Old 04-30-2019
Code:
sed "s/[1-9][0-9]\{2,\}/TRUE/g" file

This User Gave Thanks to anbu23 For This Post:
# 6  
Old 04-30-2019
This code also works perfectly with the addition of
Code:
>=100

.
Sorry Singh, I forgot to mention in my question that greater than or equal to 100 to be replace with TRUE.
# 7  
Old 04-30-2019
Hello dineshkumarsrk,

Ok sure try following.
Code:
awk 'FNR==1{print;next} {for(i=1;i<=NF;i++){if($i+0>=100){$i="True"}}} 1'  Input_file  | column -t

Thanks,
R. Singh
This User Gave Thanks to RavinderSingh13 For This Post:
Login or Register to Ask a Question

Previous Thread | Next Thread

9 More Discussions You Might Find Interesting

1. UNIX for Advanced & Expert Users

Replace \n char true line Separator

Unix File is pipe delimited with 17 fields. We may get extra pipes in data also. We may get \n char (1 or more \n in one field or multi fileds) in data in any field. Need to replace \n true ( line separator) with 'space and bell char space' chars (' \a ') Not data \n. Input:... (1 Reply)
Discussion started by: rajeshkumare
1 Replies

2. Shell Programming and Scripting

How to print values that are greater than 0.1 in at least 80% of the samples?

input sample1 sample2 sample3 sample4 sample5 sample6 sample7 sample8 sample9 sample10 v1 0.2 0.1 0.1 0 1 2 3 4 9 10 v2 0 0 0.01 0 0 0 0 0 0 0 v3 0 0 0 0 0 ... (35 Replies)
Discussion started by: quincyjones
35 Replies

3. Shell Programming and Scripting

Help me to find a greater than or smaller than values

Hi, i need to find one of the value from my file is in between two numbers, that is the value is greater than 34 and smaller than 50, Ex: File.txt col1 col2 col3 col4 1 Name1 93 w 2 Name2 94 a 3 Name3 32 b 4 Name4 45 x 5 Name5 50 y 6 Name6 49 z here i need to find col3 values are... (7 Replies)
Discussion started by: Shenbaga.d
7 Replies

4. Shell Programming and Scripting

awk to get values greater than

data.txt August 09 17:16 2013 August 09 17:17 2013 August 09 17:19 2013 August 09 17:20 2013 August 09 17:21 2013 August 09 17:22 2013 August 09 17:23 2013 August 09 17:24 2013 to print from a point in this file, to the end of the file, i type: awk '/August 09 17:22/,0' data.txt. ... (1 Reply)
Discussion started by: SkySmart
1 Replies

5. Shell Programming and Scripting

Find a blank field and replace values to NA

Hi All, i have a file like col1 col2 col3 13 24 NA 12 13 14 11 12 13 14 22 NA 18 26 NA in this file if i found "NA" other values in the line are also replace by NA Could you help me! (7 Replies)
Discussion started by: Shenbaga.d
7 Replies

6. Shell Programming and Scripting

Replace a field where values are null in a file.

Hi, I've a pipe delimited file and wanted to replace the 3rd field to 099990 where the values are null. How can I achieve it using awk or sed. 20130516|00000061|02210|111554|03710|2|205069|SM APPL $80-100 RTL|S 20130516|00000061|02210|111554|03710|2|205069|SM APPL $80-100 RTL|S... (12 Replies)
Discussion started by: rudoraj
12 Replies

7. Shell Programming and Scripting

Finding absolute values greater than a certain value

Hi I am posting here for the first time. I am trying to write a script that reads a data file and tries to determine if any absolute values that are above 0.5 I was thinking it ought to be possible to do this with awk somehow. Are there any suggestions before I start reinventing the wheel? ... (4 Replies)
Discussion started by: jackygrahamez
4 Replies

8. Shell Programming and Scripting

Find top N values for field X based on field Y's value

I want to find the top N entries for a certain field based on the values of another field. For example if N=3, we want the 3 best values for each entry: Entry1 ||| 100 Entry1 ||| 95 Entry1 ||| 30 Entry1 ||| 80 Entry1 ||| 50 Entry2 ||| 40 Entry2 ||| 20 Entry2 ||| 10 Entry2 ||| 50... (1 Reply)
Discussion started by: FrancoisCN
1 Replies

9. Shell Programming and Scripting

[awk]: Row begins by random number and field 10 is greater than 10.00%

Hello! I wish to extract the pid where CPU is above 10% last pid: 22621; load averages: 4.71, 5.04, 5.13 15:08:34 221 processes: 212 sleeping, 2 running, 1 stopped, 6 on cpu CPU states: %... (3 Replies)
Discussion started by: Lomic
3 Replies
Login or Register to Ask a Question