The UNIX and Linux Forums  

Go Back   The UNIX and Linux Forums > Top Forums > Shell Programming and Scripting
Google UNIX.COM


Shell Programming and Scripting Post questions about KSH, CSH, SH, BASH, PERL, PHP, SED, AWK and OTHER shell scripts here.

More UNIX and Linux Forum Topics You Might Find Helpful
Thread Thread Starter Forum Replies Last Post
How to insert text in the middle of a file kartikkumar84@g UNIX for Dummies Questions & Answers 6 05-10-2008 11:35 AM
add text in the middle of file relle Shell Programming and Scripting 6 03-20-2008 05:58 AM
insert text in the middle of a file relle Shell Programming and Scripting 3 03-13-2008 12:37 PM
How to insert text into first line of the file and middle of the file? ali hussain Shell Programming and Scripting 3 03-05-2007 02:54 AM
insert text into the middle of a original file mopimp Shell Programming and Scripting 1 03-26-2006 07:11 AM

Reply
 
Submit Tools LinkBack Thread Tools Display Modes
  #1  
Old 05-12-2008
Registered User
 

Join Date: Feb 2008
Posts: 11
Script to add a single line to middle of text file.

I've got a configuration file that is filled with xml text statements for example:

<...../>
<...../>
<...../>
<data id="java-options" value="-server -Djava.security.policy..../>
<...../>
<...../>
<...../>


I want to write a korn shell script that will go to this specific line and add a certain parameter as follows:


<data id="java-options" value="-server -My_Parameter -Djava.security.policy..../>

I'm thinking that I can do this with head and tail but I'm not sure how to do it. Any help help would be appreciated.
Reply With Quote
Forum Sponsor
  #2  
Old 05-12-2008
era era is offline
Herder of Useless Cats
 

Join Date: Mar 2008
Location: /there/is/only/bin/sh
Posts: 3,650
head and tail cannot add any information on their own. For easy string replacements, you probably want sed.

Code:
sed -e '/<data /s/-server/& -My_Parameter/' file >file.new
This will search for "<data" and perform a substitution ("s") of "-server" with "-server -MyParameter" (the & is magical and means "whatever we are substituting") on that line. Other lines are printed unchanged.
Reply With Quote
  #3  
Old 05-12-2008
Registered User
 

Join Date: Feb 2008
Posts: 11
Quote:
Originally Posted by era View Post
head and tail cannot add any information on their own. For easy string replacements, you probably want sed.

Code:
sed -e '/<data /s/-server/& -My_Parameter/' file >file.new
This will search for "<data" and perform a substitution ("s") of "-server" with "-server -MyParameter" (the & is magical and means "whatever we are substituting") on that line. Other lines are printed unchanged.
This works perfectly, thank you!
Reply With Quote
Google The UNIX and Linux Forums
Reply

Thread Tools
Display Modes




All times are GMT -7. The time now is 08:37 PM.


Powered by: vBulletin, Copyright ©2000 - 2006, Jelsoft Enterprises Limited.
The UNIX and Linux Forums Content Copyright ©1993-2008. All Rights Reserved.Ad Management by RedTyger Visit The Complex Event Processing Blog

Content Relevant URLs by vBSEO 3.2.0