How to change a number on a specific lines in a file with shell?


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting How to change a number on a specific lines in a file with shell?
# 8  
Old 03-12-2012
Hey it works perfectly well thank you very much!!!!Smilie
# 9  
Old 03-19-2012
Hello everybody again

Well I have made a mistake the number which will be changed is the $9 not $11 so I tried as below

Code:
awk '{sub($9 " FRO ",$9-1.3 " FRO ")}1' gupguzelhyp.out > uphyp.out

But it did not work Smilie
# 10  
Old 03-19-2012
Try:
Code:
awk '{sub($9 " *FRO ",$9-1.3 " FRO ")}1' infile

This User Gave Thanks to Scrutinizer For This Post:
# 11  
Old 03-19-2012
Quote:
Originally Posted by Scrutinizer
Try:
Code:
awk '{sub($9 " *FRO ",$9-1.3 " FRO ")}1' infile


Yess thank you very much!!! One little star fixed the whole file SmilieSmilie
# 12  
Old 03-21-2012
Data

Hello all,

I need to change a number in a file by adding some residuals respectively

To make it clear,

I need to add 0.11 to the number between 24-28 (which is below the SECON) for all the lines starting with FRR1
or I need to add 0.13 to the number between 24-28 (which is below the SECON) for all lines starting with FRR4

The values for the codes (FRR1, FRR4...) are constant.

since the columns are vary from line to line I try to set the characters between 24-28 so that the code would change only the second...

I tried this code but it is ofcourse useless


Code:
set SEC=`\cut -c 24-28 inp` 
awk '{sub(" FRR2 * " $SEC," FRR2 * " $SEC+0.11)}1' inp > out



and here is the example of my file


Code:
 2009 1024 0332 41.7 L  40.797  27.526 12.7  FRO 14 0.5 1.5LFRO 2.5CFRO 1.6LMAM1
 GAP= 86        0.97       2.6     2.4  4.1 -0.3933E+00 -0.3282E+01  0.2834E+01E
 STAT SP IPHASW D HRMM SECON CODA AMPLIT PERI AZIMU VELO AIN AR TRES W  DIS CAZ7
 FRR2 SZ IP        332 44.09                             155   -0.4510 3.95 323
 FRR1 SZ IP        332 46.23                             123    0.6810 11.0 232
 FRR1 SE ES        332 48.86                             123    0.5310 11.0 232
 YNKM SZ IPG  0   0332 45.82   169.7e+01                 123    0.0110 11.4 286
 YNKM SZ ESG  1   0332 48.03     1.6e+02                 123   -0.74 7 11.4 286
 MADM SZ IPG  0   0332 47.05   124.0e+01                  99    0.0810 19.8 144
 MADM SZ ESG  1   0332 49.98     6.6e+01                  99   -0.80 7 19.8 144
 FRR4 SZ IP        332 48.23                              92    0.4210 26.3 104
 FRR4 SE ES        332 51.63                              92   -0.6110 26.3 104
 SART SZ IP   0   0332 48.78   426.2e+00                  91   -0.29 9 31.6 248
 SART SZ ES   2   0332 53.66     1.6e+01                  91   -0.75 5 31.6 248

 2009 1025 0114 10.4 L  40.824  27.977 11.7  FRO 12 0.5 1.4LFRO 2.6CFRO 1.6LMAM1
 GAP=103        1.23       3.6     3.0  5.2 -0.2501E+01 -0.3318E+01  0.5687E+01E
 STAT SP IPHASW D HRMM SECON CODA AMPLIT PERI AZIMU VELO AIN AR TRES W  DIS CAZ7
 FRR4 SZ IP        114 15.03                             110    0.3010 15.6 233
 FRR4 SE ES        114 17.47                             110   -0.4010 15.6 233
 MARM SZ IPG  0   0114 15.18   183.9e+01                 110    0.1910 15.9 355
 MARM SZ ESG  1   0114 18.13     1.5e+02                 110   -0.18 7 15.9 355
 FRR2 SZ IP        114 18.57                              72   -0.11 9 40.4 270
 FRR2 SE ES        114 24.13                              72   -0.57 9 40.4 270
 FRR1 SZ IP        114 20.15                              72    0.04 9 47.7 258

 2009 1025 0304 42.0 L  40.814  27.754 11.7  FRO 14 0.6 1.6LFRO 2.7CFRO 1.8LMAM1
 GAP=126        1.36       3.7     2.8  4.8  0.3033E+00 -0.2901E+01 -0.5029E+01E
 STAT SP IPHASW D HRMM SECON CODA AMPLIT PERI AZIMU VELO AIN AR TRES W  DIS CAZ7
 FRR4 SZ IP       0304 46.22                             125    0.6910 10.3 142
 FRR4 SE ES       0304 48.07                             125   -0.0110 10.3 142
 MADM SZ IPG  0   0304 47.08   245.1e+01                 106   -0.0510 19.3 203
 MADM SZ ESG  1   0304 50.01     7.9e+01                 106   -0.85 7 19.3 203
 FRR2 SZ IP        304 47.29                             102    0.1110 21.6 274
 FRR2 SE ES        304 50.20                             102   -0.7410 21.6 274
 MARM SZ IP   0   0304 48.11   241.0e+02                 100    0.1310 24.4  46
 MARM SZ ES   3   0304 52.06     2.5e+02                 100   -0.26 2 24.4  46
 FRR1 SN IP        304 49.43                              98    0.7410 29.2 253
 FRR1 SE ES        304 53.13                              98   -0.4210 29.2 253

Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. UNIX for Dummies Questions & Answers

Quick UNIX command to display specific lines in the middle of a file from/to specific word

This could be a really dummy question. I have a log text file. What unix command to extract line from specific string to another specific string. Is it something similar to?: more +/"string" file_name Thanks (4 Replies)
Discussion started by: aku
4 Replies

2. Shell Programming and Scripting

To change Specific Lines in An XML file

hi Guys, this is my requirement, there is a huge xml file of this i have to change 3 lines with out opening the file /users/oracle > cat lnxdb-pts-454.xml|egrep "s_virtual|s_cluster|s_dlsnstatus" <cluster_port oa_var="s_clusterServicePort">9998</cluster_port> <host... (2 Replies)
Discussion started by: smarlaku
2 Replies

3. Shell Programming and Scripting

How to change a number on a specific line with cshell or shell?

Hello all, I need to change a number in a file by adding some residuals respectively To make it clear, I need to add 0.11 to the number between 24-28 (which is below the SECON) for all the lines starting with FRR1 or I need to add 0.13 to the number between 24-28 (which is below the... (9 Replies)
Discussion started by: miriammiriam
9 Replies

4. Shell Programming and Scripting

Change default shell of a specific user with awk

I would like to replicate the functionality of chsh (or passwd -e) by awk. This is what I got so far, but I think there should be an easier way to search and replace field $7 only for lines beginning with user_name: awk -v user_name="$user_name" -v new_shell="$new_shell" -F: '$1 == user_name {... (2 Replies)
Discussion started by: nomad84
2 Replies

5. UNIX for Dummies Questions & Answers

How to use sed to copy specific lines from a file using shell variables?

hello! I am trying to use sed to copy specific set of lines from a file for which the starting and ending line numbers of the lines to be copied are stored in shell variables. How can i copy those lines? if the input_file is something like this and if the following is the script a=2 b=4... (4 Replies)
Discussion started by: a_ba
4 Replies

6. Shell Programming and Scripting

KSH SHELL: problem calculation number of lines inside compressed file

Hi Gurus, I am working with a korn shell script to simplify some operations of calculation number of lines inside compressed file. The called function (inside a cycle) is the following: ######################################### # F.ne: CheckCount #########################################... (3 Replies)
Discussion started by: GERMANICO
3 Replies

7. Shell Programming and Scripting

Delete all lines that start with a bigger number of a specific one.

E.g. the file is like this: I want to delete all lines that begin with a number larger than 2, ignoring the lines that doesn't begin with a number! PS:'2' is actually a variable that can have a lot of values:b:i bet you got it (10 Replies)
Discussion started by: hakermania
10 Replies

8. SCO

Why? I can not change the number of lines to print

hi My problem now is that if shipping options as -o length = 88 it says the following: # lp -o length=88 -dhp4015 /etc/hosts UX:lp: ERROR: The following options can't be handled: -o length= TO FIX: The printer(s) that otherwise qualify for printing your request can't handle one or more of... (2 Replies)
Discussion started by: Edgar Guevara
2 Replies

9. Shell Programming and Scripting

extract the lines between specific line number from a text file

Hi I want to extract certain text between two line numbers like 23234234324 and 54446655567567 How do I do this with a simple sed or awk command? Thank you. ---------- Post updated at 06:16 PM ---------- Previous update was at 05:55 PM ---------- found it: sed -n '#1,#2p'... (1 Reply)
Discussion started by: return_user
1 Replies

10. Shell Programming and Scripting

Shell Script to read specific lines in a file

I have a file with contents as follows Record 1: Rejected - Error on table "DWO"."P2G_CUST_EVENTS". ORA-00001: unique constraint (DWO.CUST_EVENTS_PK) violated Record 5: Rejected - Error on table "DWO"."P2G_CUST_EVENTS". ORA-00001: unique constraint (DWO.CUST_EVENTS_PK) violated Record 6:... (5 Replies)
Discussion started by: varshanswamy
5 Replies
Login or Register to Ask a Question