sed appending problem


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting sed appending problem
# 1  
Old 09-27-2011
sed appending problem

i have a number of java files containing
eg:
Code:
--------------myfile.java--------------
package zip.fun.myfiles;

import java.*
import something..;
import sdfdfdsa;
...
...
--------------------------------------------

Now I need to append / insert a line as follows:

Code:
--------------myfile.java--------------
package zip.fun.myfiles;

import linux.admin.file;
import java.*;
import something..;
import sdfdfdsa;
...
...
--------------------------------------------

i have a shell which contains find command in a forloop
So in the shell inside forloop i tried:
Code:
Try : 1.
sed '/package zip./a \
> import linux.admin.file;' $filename

Try : 2.
var=`cat $filename | nl | grep "package zip." `
tostring="import linux.admin.file; "
sed $var a $tostring -i $filename

Try : 3.
sed -e '/package/G' < $filename | sed 's/^$/import linux.admin.file; /g'

NOT WORKING...!! Smilie

Can u please suggest me the right way..
# 2  
Old 09-27-2011
That works fine for me in RHEL, but AIX is a bit pedantic.

Code:
$ sed '/package zip./ a\
NEW LINE' file1
--------------myfile.java--------------
package zip.fun.myfiles;
NEW LINE

import java.*
import something..;
import sdfdfdsa;
...
...
--------------------------------------------


Last edited by Scott; 09-27-2011 at 04:44 AM.. Reason: Pasted wrong code
# 3  
Old 09-27-2011
Code:
sed '3aimport linux.admin.file;' myfile

# 4  
Old 09-27-2011
Quote:
Originally Posted by scottn
Code:
$ sed '/package zip./ a\
NEW LINE' file1
--------------myfile.java--------------
package zip.fun.myfiles;
NEW LINE

import java.*
import something..;
import sdfdfdsa;
...
...
--------------------------------------------

Oops.. Its not..!!

But no errors!!

sed-4.2.1-7.fc15.i686
OS : fedora 15 KDE
# 5  
Old 09-27-2011
For me:
Code:
GNU sed version 4.1.5

ygemici posted a nicer solution in any case Smilie
# 6  
Old 09-27-2011
Quote:
Originally Posted by ygemici
Code:
sed '3aimport linux.admin.file;' myfile

No.

I think its some problem in my system.

is there any awk program for appending..

But sed is working in the same script

Code:
I did:
sed -ie "s/${findString}/${replaceString}/g" $filename
in the same script & works fine..


Last edited by linuxadmin; 09-27-2011 at 04:53 AM.. Reason: added more
# 7  
Old 09-27-2011
Yes, your sed problem seems a bit strange.

Code:
awk 'NR==3 { print "import linux.admin.file;" } 1' file

Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

Sed command help (appending)

I need to append a user to the end of a group in the /etc/group file ftp::49:user1,user2... what I want to to add a new user to the group file so that I won't have to open it up and append manually and I can't user "usermod" it fails this user will be coming from a variable (11 Replies)
Discussion started by: slufoot80
11 Replies

2. UNIX for Dummies Questions & Answers

sed - appending text

Hey all I am trying to append a file called datebook.txt. I want to append the end of each line containing the name Fred with three ***. I believe I need to make the * loose its meta character meaning in addition to using the append command. I have tried several variations of this command and I... (3 Replies)
Discussion started by: citizencro
3 Replies

3. Shell Programming and Scripting

Awk/Sed - appending within file

hello all, First time post here. I have searched a bit but could not find an exact answer. I have about a week's experience of Sed and Awk, and am having fun, but am a little stuck. I am reformatting an xml file into json format. I have got this far: {"clients": ...and so on. What I want... (22 Replies)
Discussion started by: singerfc
22 Replies

4. Shell Programming and Scripting

sed appending needed only after first instance

Hi, Here is my piece of code used with sed in shell script: sed -i '/<falsemodule-option>/ a\<LdapLogin>' myxmlfile The problem that i am facing with the above is that in 'myxml' file i have mulitple instances of <falsemodule-option> so when i execute the above sed command, it is appending... (10 Replies)
Discussion started by: sunrexstar
10 Replies

5. UNIX for Dummies Questions & Answers

Appending sed output to variable

I want to append matched output and cat the results into an variable. but I've been running into problems. sed is printing result on to screen instead of appending the output to $CAPTURE. I'm stumped...how should i fix this? contents of $TEST 10.0.0.1 10.0.0.2 10.0.0.3 10.0.0.4 expected... (5 Replies)
Discussion started by: jazzaddict
5 Replies

6. UNIX for Dummies Questions & Answers

Sed $ appending to front, not to the end

I keep trying to append some astrix to the end of a line, but it keeps overwriting at the front of the line. These are the originals Fred Fardbarkle:674-843-1385:20 Parak Lane, Duluth, MN 23850:4/12/23:780900 Fred Fardbarkle:674-843-1385:20 Parak Lane, Duluth, MN 23850:4/12/23:780900 ... (5 Replies)
Discussion started by: DrSammyD
5 Replies

7. Shell Programming and Scripting

appending a file using sed in ksh

i am trying to append a 5 line SGML file(file1) with a 500,000 line SGML file (file2). file1 is a template, so i wish to preserve. i only want to add lines 5 to the end of file2. i have: cp file1 temp1 sed -n '5,$p' file2 >> temp1 when i check the tail of temp1, i consistantly find the... (3 Replies)
Discussion started by: smac
3 Replies

8. Shell Programming and Scripting

appending and sed

Hello, I want to add string #REAL at the end of all lines that contain real numbers. How to do this using sed ? (1 Reply)
Discussion started by: scotty_123
1 Replies

9. Shell Programming and Scripting

Sed appending string using for loop?

Hi All, I have been trying to format a file using sed. I can't seem to get the syntax right. I want to append the string from file1.txt to file1.csv with the final output file being file2.csv, but before the string is appended to the end of each line, first insert a comma. Here is the sed... (2 Replies)
Discussion started by: cstovall
2 Replies

10. UNIX for Dummies Questions & Answers

SED Question -- on appending to a file

:confused: I have a script that Cats a flat database file which contains 12 columns into sed. I want to add a 13th column which includes " ,2005-08-29 " * The date needs to be the current date. This 13th column would be appended to the end of each line. Does anyone have a clue... (5 Replies)
Discussion started by: Redg
5 Replies
Login or Register to Ask a Question