Needed a help in inserting a new line!!!


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting Needed a help in inserting a new line!!!
# 1  
Old 12-01-2011
Java Needed a help in inserting a new line!!!

Hi..wanted a help regarding inserting a newline in an xml file using shell script.

i've an xml file which has the following data.
Code:
1. <?xml version="1.0" encoding="UTF-8"?>
2. <group>
3. <name>odcm</name>
4. contd....

I need to insert two new lines after line#2, so that the output should be,
Code:
1. <?xml version="1.0" encoding="UTF-8"?>
2. <group>
3. newline
4. newline
5. <name>odcm</name>
6. contd....

Now that the lines numbers are not the same in all xml files, I would need to grep for <group> tag and then insert the lines after that tag. I tried various options but ended up in vain. Please help in this query.

Thanks in advance.

Arjun

Last edited by Scott; 12-01-2011 at 08:03 AM.. Reason: Code tags
# 2  
Old 12-01-2011
u can do it with sed command, check the man page and show us what u tried...
# 3  
Old 12-01-2011
Code:
sed '/<group>/ { printf "\n<module_line1>\n<module_line2>";next;}' odcm.xml


Last edited by Scott; 12-01-2011 at 08:02 AM.. Reason: Code tags
# 4  
Old 12-01-2011
I don't think sed has printf.

From the man page, one option:

Code:
       (2)G
            Appends the contents of the hold space to the pattern space.

If the hold space is empty, then that would be a blank line.

Code:
$ sed "/<group>/{G;G;}/" file
<?xml version="1.0" encoding="UTF-8"?>
<group>


<name>odcm</name>
contd....

This assumes that your file doesn't contain numbers that needs re-sequenced!
# 5  
Old 12-01-2011
hmmmm
I hope it will not work...

sed is used to modify or delete a line,

Quote:
Example:
sed 's/<search_string>/<string to replace>/' <file name>
# 6  
Old 12-01-2011
Yes Thanks.. This is working fine.. but the output is coming onto the STDOUT.. With this script I was trying to make the changes into the xml file itself..
# 7  
Old 12-01-2011
u can use -i option of sed...
Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. UNIX for Dummies Questions & Answers

Inserting new line

Hi all, I want ot print a header with new line in the end. I am using echo like echo "this is header" I want output like This is header $ I tried -e also but it's not working. echo - e Can anyone help please? (6 Replies)
Discussion started by: dsa
6 Replies

2. Shell Programming and Scripting

Commenting a specific line and inserting a new line after commented line.

Hello All, I have following file contents cat file #line=aaaaaa #line=bbbbbb #line=cccccc #line=dddddd line=eeeeee #comment=11111 #comment=22222 #comment=33333 #comment=44444 comment=55555 Testing script Good Luck! I would like to comment line line=eeeeee and insert a new line... (19 Replies)
Discussion started by: manishdivs
19 Replies

3. Shell Programming and Scripting

Help with inserting a line

Hello, I am new to this forum. I have a question in Unix shell scripting. Here is my requirement I have 1000 files and I need to insert a header with one line at the top of each of the 1000 files. Please let me know if you have any solution for this Thanks in advance. Raj (4 Replies)
Discussion started by: trajashekar
4 Replies

4. Shell Programming and Scripting

Inserting a line in a file after every alternate line

Friends , I have a large file and i need to insert a line after every line.I am actually unaware how to do it.Any help appreciated. My File control station *ATM* , qread $OSS.Jul13A.FI01 interval 1 intcount 1 control station *ATM* , qread $OSS.Jul13A.FI02 interval 1 intcount... (4 Replies)
Discussion started by: appu2176
4 Replies

5. Shell Programming and Scripting

Inserting IP in one line of a file

Hi, I have this line: ip=111.222.133.144,mac=00:16:3E:2A:08:3C,vifname=veth360','ip=10.2.3.4,vifname=veth360a' ^ | ------- I want to insert this IP 144.133.222.111 between "144"... (4 Replies)
Discussion started by: iga3725
4 Replies

6. Shell Programming and Scripting

Inserting a line at the end

Hi All, I am using the below script to enter the URL at the end of file: echo "Enter the URL that should point to the particular microsite" read url sed "$a $url" redirects.virgin-atlantic.com.conf > temp But am getting the below error: ./script.sh:... (7 Replies)
Discussion started by: Shazin
7 Replies

7. UNIX for Advanced & Expert Users

Inserting a line before the line which matches the patter

Hi Is there any command where we can insert a line "2|||" before every line starting with "3|" my input is as follows 1|ETG|12345 3|79.58|||GBP|| 1|ETG|12345 3|79.58|||GBP|| 1|ETG|12345 2|EN_GB||Electrogalvanize 0.5 m2 ( Renault ) 1|ETG|12345 3|88.51|||GBP|| desired output... (10 Replies)
Discussion started by: laxmi131
10 Replies

8. Shell Programming and Scripting

inserting a line after a perticular line

Hi, Suppose I have a file which contains many lines, ---------------------- wake up study hard play a little getting hungry <---- insert a line after this line watch TV go shopping come back home getting hungry <--- insert a line after this line listen music surf internet go to... (2 Replies)
Discussion started by: uday610
2 Replies

9. Shell Programming and Scripting

Inserting a new line

I have a file where each line starts with a "update" statement. I want to insert a new line, after each line, with the words "go" in the new line. Can someone help me out with this? (1 Reply)
Discussion started by: ssmallya
1 Replies

10. UNIX for Dummies Questions & Answers

inserting line??

guys can anyone tel me how to insert a line in a file(bash) using line number i wanna insert the line using LINE NUMBER...i know for inserting above or below a perticular line we can use sed a\ or i\.... thanks in advance.... (7 Replies)
Discussion started by: anj
7 Replies
Login or Register to Ask a Question