Sponsored Content
Top Forums Shell Programming and Scripting How to change a number on a specific lines in a file with shell? Post 302605989 by birei on Friday 9th of March 2012 09:49:52 AM
Old 03-09-2012
Hi miriammiriam,

One way using awk:
Code:
$ cat infile                                                                                                                                                                                                                                 
2009 10 3 2349 21.3 L 40.719 27.388 10.8 FRO 7 0.8 1.1LFRO 2.6CFRO 1.1LMAM1                                                                                                                                                                  
GAP=157 1.69 5.7 5.9 5.8 0.5405E+01 0.4455E+00 0.1653E+02E                                                                                                                                                                                   
STAT SP IPHASW D HRMM SECON CODA AMPLIT PERI AZIMU VELO AIN AR TRES W DIS CAZ7                                                                                                                                                               
FRR1 SZ IP 2349 25.57 153 0.7210 3.59 56                                                                                                                                                                                                     
FRR1 SE ES 2349 27.08 153 -0.3510 3.59 56                                                                                                                                                                                                    
YNKM SZ IPG 0 2349 26.44 364.6e+01 116 0.0510 11.9 4                                                                                                                                                                                         
YNKM SZ ESG 1 2349 28.25 1.2e+02 116 -1.85 7 11.9 4                                                                                                                                                                                          
                                                                                                                                                                                                                                             
2009 10 4 1009 6.8 L 40.758 27.692 12.1 FRO 10 0.5 1.3LFRO 2.6CFRO 1.5LMAM1                                                                                                                                                                  
GAP=141 1.10 4.1 2.5 3.0 0.2367E+01 0.6141E+00 -0.3938E+01E                                                                                                                                                                                  
STAT SP IPHASW D HRMM SECON CODA AMPLIT PERI AZIMU VELO AIN AR TRES W DIS CAZ7                                                                                                                                                               
FRR4 SZ IP 1009 11.85 122 0.5610 11.7 100
FRR4 SN ES 1009 13.99 122 -0.5810 11.7 100
MADM SZ IPG 0 1009 12.08 266.3e+01 122 0.3110 11.8 192
MADM SZ ESG 1 1009 14.83 8.4e+01 122 -0.57 7 11.8 192
FRR2 SZ IP 1009 12.65 109 0.5810 18.0 295
FRR2 SE ES 1009 15.26 109 -0.6510 18.0 295
FRR1 SZ IP 1009 14.15 61 0.7710 22.9 264


2009 10 5 0705 27.2 L 40.477 29.166 5.5 FRO 7 0.7 1.2LFRO 2.4CFRO 1.3LMAM1
GAP=124 1.57 4.4 5.9 6.6 0.4955E+01 0.1054E+02 -0.1047E+02E
STAT SP IPHASW D HRMM SECON CODA AMPLIT PERI AZIMU VELO AIN AR TRES W DIS CAZ7
ESKM SZ IP 0 0705 33.54 2.2e+01 40 -0.0810 23.6 308
ESKM SZ ES 1 0705 36.80 3.0e+01 40 -1.48 7 23.6 308
IGDM SZ IP 0 0705 33.88 201.4e+01 40 0.1210 23.8 173
$ awk '$10 == "FRO" { $11 += 1.3 } { print }' infile
2009 10 3 2349 21.3 L 40.719 27.388 10.8 FRO 8.3 0.8 1.1LFRO 2.6CFRO 1.1LMAM1
GAP=157 1.69 5.7 5.9 5.8 0.5405E+01 0.4455E+00 0.1653E+02E
STAT SP IPHASW D HRMM SECON CODA AMPLIT PERI AZIMU VELO AIN AR TRES W DIS CAZ7
FRR1 SZ IP 2349 25.57 153 0.7210 3.59 56
FRR1 SE ES 2349 27.08 153 -0.3510 3.59 56
YNKM SZ IPG 0 2349 26.44 364.6e+01 116 0.0510 11.9 4
YNKM SZ ESG 1 2349 28.25 1.2e+02 116 -1.85 7 11.9 4

2009 10 4 1009 6.8 L 40.758 27.692 12.1 FRO 11.3 0.5 1.3LFRO 2.6CFRO 1.5LMAM1
GAP=141 1.10 4.1 2.5 3.0 0.2367E+01 0.6141E+00 -0.3938E+01E
STAT SP IPHASW D HRMM SECON CODA AMPLIT PERI AZIMU VELO AIN AR TRES W DIS CAZ7
FRR4 SZ IP 1009 11.85 122 0.5610 11.7 100
FRR4 SN ES 1009 13.99 122 -0.5810 11.7 100
MADM SZ IPG 0 1009 12.08 266.3e+01 122 0.3110 11.8 192
MADM SZ ESG 1 1009 14.83 8.4e+01 122 -0.57 7 11.8 192
FRR2 SZ IP 1009 12.65 109 0.5810 18.0 295
FRR2 SE ES 1009 15.26 109 -0.6510 18.0 295
FRR1 SZ IP 1009 14.15 61 0.7710 22.9 264


2009 10 5 0705 27.2 L 40.477 29.166 5.5 FRO 8.3 0.7 1.2LFRO 2.4CFRO 1.3LMAM1
GAP=124 1.57 4.4 5.9 6.6 0.4955E+01 0.1054E+02 -0.1047E+02E
STAT SP IPHASW D HRMM SECON CODA AMPLIT PERI AZIMU VELO AIN AR TRES W DIS CAZ7
ESKM SZ IP 0 0705 33.54 2.2e+01 40 -0.0810 23.6 308
ESKM SZ ES 1 0705 36.80 3.0e+01 40 -1.48 7 23.6 308
IGDM SZ IP 0 0705 33.88 201.4e+01 40 0.1210 23.8 173

 

10 More Discussions You Might Find Interesting

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

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

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

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

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

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

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

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

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

10. 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
All times are GMT -4. The time now is 05:17 AM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy