Appending line/lines with sed


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting Appending line/lines with sed
# 29  
Old 07-24-2005
Hi vino,

Ok,finally it works!

following the shell script:
Code:
#! /bin/ksh
update_opmn_xml()
{
set -xv
typeset L_container=$1
export opmnXml=/tmp/opmn.xml
## Inserting environment parameters
echo "                <environment>" > /tmp/opmn.lst
echo "                   <variable id=\"LD_LIBRARY_PATH\" value=\"$ORACLE_HOME/lib\" append=\"true\"/>" >> /tmp/opmn.lst
echo "                   <variable id=\"SHLIB_PATH\" value=\"$ORACLE_HOME/lib32\" append=\"true\"/>" >> /tmp/opmn.lst
echo "                </environment>" >> /tmp/opmn.lst

cp $opmnXml $opmnXml.FORMER.$$
sed -e '/process-type id="'"OC4J_${L_container}_${SCHEMA_NAME}"'"/r /tmp/opmn.lst' $opmnXml > $opmnXml.new
mv $opmnXml.new $opmnXml

}
#------------------------------------------------------------------------------
export SCHEMA_NAME=NIR
update_opmn_xml RTEadmin

I left your former command as is and I change only $opmnLst to /tmp/opmn.lst:

Code:
platform:/tmp> ./update_opmn_xml.ksh     
+ typeset L_container=RTEadmin
+ export opmnXml=/tmp/opmn.xml
+ echo                 <environment>
+ > /tmp/opmn.lst 
+ echo                    <variable id="LD_LIBRARY_PATH" value="/home/ias/v10.1.2/lib" append="true"/>
+ >> /tmp/opmn.lst 
+ echo                    <variable id="SHLIB_PATH" value="/home/ias/v10.1.2/lib32" append="true"/>
+ >> /tmp/opmn.lst 
+ echo                 </environment>
+ >> /tmp/opmn.lst 
+ cp /tmp/opmn.xml /tmp/opmn.xml.FORMER.14012
+ sed -e /process-type id="OC4J_RTEadmin_NIR"/r /tmp/opmn.lst /tmp/opmn.xml
+ > /tmp/opmn.xml.new 
+ mv /tmp/opmn.xml.new /tmp/opmn.xml

and the results in the opmn.xml are as expected:

Code:
<process-type id="OC4J_RTEadmin_NIR" module-id="OC4J">
                <environment>
                   <variable id="LD_LIBRARY_PATH" value="/home/ias/v10.1.2/lib" append="true"/>
                   <variable id="SHLIB_PATH" value="/home/ias/v10.1.2/lib32" append="true"/>
                </environment>
               <module-data>
                  <category id="start-parameters">
                     <data id="java-options" value="-server -Djava.security.policy=/home/ias/v10.1.2/j2ee/OC4J_RTEadmin_NIR/config/java2.policy -Djava.awt.headless=true"/>

Thanks a lot again!

Best regards,
Nir
Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

sed for appending a line before a pattern and after another patter.

Hi All, I'm appending a line before a pattern and after another pattern(;) but omitting the first pattern - same as if comes duplicates before the second pattern. Also, I'm adding a word before the first pattern - Here is my file select blah blah hello select blah blah ; select... (6 Replies)
Discussion started by: Mannu2525
6 Replies

2. Shell Programming and Scripting

[sed] Replace one line with two lines

Literally cannot get this one, guys. Single line replacement is simple, but I am not understanding the correct syntax for including a new line feed into the substitution part. Here's what I got. (Cannot use perl) #!/bin/sh set -f #Start Perms export HOME=/home/test_user # End Perms... (6 Replies)
Discussion started by: Parallax
6 Replies

3. Shell Programming and Scripting

SED to remove a line above and lines below.

:confused:Hi All, I need help on removing lines in a text file. Sample file : When there is a match ip for IPAddress in my `cat ip.out`, proceed delete line above until string "Comp" is found. Thank you very much. ---------- Post updated at 12:56 AM ---------- Previous update was... (4 Replies)
Discussion started by: chiewming
4 Replies

4. Shell Programming and Scripting

Appending string (charachters inside the line) to a fixed width file using awk or sed

Source File: abcdefghijklmnop01qrstuvwxyz abcdefghijklmnop02qrstuvwxyz abcdefghijklmnop03qrstuvwxyz abcdefghijklmnop04qrstuvwxyz abcdefghijklmnop05qrstuvwxyz Whatever characters are in 17-18 on each line of the file, it should be concatenated to the same line at the character number... (6 Replies)
Discussion started by: tamahomekarasu
6 Replies

5. Shell Programming and Scripting

awk;sed appending line to previous line....

I know this has been asked before but I just can't parse the syntax as explained. I have a set of files that has user information spread out over two lines that I wish to merge into one: User1NameLast User1NameFirst User1Address E-Mail:User1email User2NameLast User2NameFirst User2Address... (11 Replies)
Discussion started by: walkerwheeler
11 Replies

6. Shell Programming and Scripting

sed: appending alternate line after previous line

Hi all, I have to append every alternate line after its previous line. For example if my file has following contents line 1: unix is an OS line 2: it is open source line 3: it supports shell programming line 4: we can write shell scripts Required output should be line1: unix is an OS it is... (4 Replies)
Discussion started by: rish_max
4 Replies

7. Shell Programming and Scripting

Appending line number to each line and getting total number of lines

Hello, I need help in appending the line number of each line to the file and also to get the total number of lines. Can somebody please help me. I have a file say: abc def ccc ddd ffff The output should be: Instance1=abc Instance2=def Instance3=ccc Instance4=ddd Instance5=ffff ... (2 Replies)
Discussion started by: chiru_h
2 Replies

8. Shell Programming and Scripting

Sed - Appending a line with a variable on it

Hi, I searched the forum for this but couldn't find the answer. Basically I have a line of code I want to insert into a file using sed. The line of code is basically something like "address=1.1.1.1" where 1.1.1.1 is an IP Address that will vary depending on what the user enters. I'll just refer... (4 Replies)
Discussion started by: eltinator
4 Replies

9. UNIX for Dummies Questions & Answers

SED or AWK: Appending a line Identifier that changes with paragraph?

Have another question that has been eluding me all day. I have data file I'm trying to reformat so that each line is appended with an ID code, but the ID code needs to update as it searches through the file. I.e. ----Begin Original Datafile----- Condition = XXX Header Line 1 Header... (1 Reply)
Discussion started by: selkirk
1 Replies

10. Shell Programming and Scripting

Appending line with sed works on Linux but not on Solaris

Hi folks, Our application installation uses "sed" command to append string after specific line or after line number. Both cases work perfect on Linux but fail on Solaris. The OS versions are Solaris 9 and Linux Red Hat AS 3. i.g: Linux: ----- file foo.txt aaa bbb ccc ddd root#... (4 Replies)
Discussion started by: nir_s
4 Replies
Login or Register to Ask a Question