insert a line with variables using sed


 
Thread Tools Search this Thread
Operating Systems AIX insert a line with variables using sed
# 1  
Old 04-01-2010
insert a line with variables using sed

Hi,
I have to insert a line having variables using sed. But the variables are not getting substituted within sed.

Ex:
Code:
n=2
sed $n' i\
hi' file

This works. But the below code does not work.
Code:
n=2
line=hello
sed $n' i\
$line' file

The above code inserts '$line' in the 2nd line of the file; instead I need to insert the value of $line, which is 'hello'

I even tried double quotes but it does not work.
Code:
n=2
line=hello
sed $n" i\
$line" file

Please help.

Last edited by pludi; 04-01-2010 at 06:39 AM.. Reason: code tags, please...
# 2  
Old 04-01-2010
  1. Please, use [CODE][/CODE] tags, not [QUOTE][/QUOTE] tags for code and listings
  2. Did you read the explanation in your other thread on how the quotes work?
# 3  
Old 04-01-2010
They are two different variable substitutions in sed. The first post was for inserting a line using sed at a specific line number, which was a variable.

Now, I am trying to insert a line, which has a variable in it, using sed. I did try the double quotes pointed out by you, but it did not work.

Code:
n=2
line=hi
sed $n" i\
$line" file

The error that I get is "sed: 0602-404 Function 2ihihihihi cannot be parsed."
# 4  
Old 04-01-2010
Which sed on which platform?
# 5  
Old 04-01-2010
AIX version 5.3
Even if you have any other solution other than sed, pls let me know
# 6  
Old 04-01-2010
Ah, apparently AIX sed is more POSIX strict than GNU sed. Try escaping the backslash so that it gets passed literally, instead of escaping the newline:
Code:
n=2
line=hi
sed $n" i\\
$line" file

# 7  
Old 04-01-2010
You are a UNIX Genius!!!
Thank you very much Smilie
Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

Using sed to find and append or insert on SAME line

Hi, $ cat f1 My name is Bruce and my surname is I want to use SED to find “Bruce” and then append “ Lee” to the end of the line in which “Bruce” is found Then a more tricky one…. I want to INSERT ….a string… in to a line in which I find sometihng. So example $ cat f2 My name is... (9 Replies)
Discussion started by: Imre
9 Replies

2. Solaris

sed insert into line 1 via script

Hi I am trying to run a sed command within a script..unfortunately it wasn't written on Solaris so doesn't work. Can anyone help with the correct coding please? It is: sed -i '1i ROWID;ORDER_ID;JOB_NAME;ORDER_TABLE' ${OUTFILE} (4 Replies)
Discussion started by: Grueben
4 Replies

3. UNIX for Dummies Questions & Answers

Using sed to insert at position x and then every interval y for each line

Thanks to help from Don Cragun in post 302924174, I'm off and getting into trouble on my own (finally) with sed. Here is my goal - insert \\r\n at the 60th character on each line and then every 76th character thereafter: Input:... (3 Replies)
Discussion started by: gusbrown
3 Replies

4. Shell Programming and Scripting

sed and awk to insert a line after a para

hi I am having a file like this ############################## mod1 ( a(ll) , b( c), try(o) , oll(ll) go(oo) , al(ll) mm(al) , lpo(kka) kka(oop) ); mod2 ( jj(ll) , c( kk), try1q(o1) , ofll(lll) gao(oo1) , ala(llaa) mmf(adl) , lddpo(kkad) kkda(oodp) );... (20 Replies)
Discussion started by: kshitij
20 Replies

5. Shell Programming and Scripting

sed - How to insert line before the first blank line following a token

Hello. I have a config file (/etc/my_config_file) which may content : # # port for HTTP (descriptions, SOAP, media transfer) traffic port=8200 # network interfaces to serve, comma delimited network_interface=eth0 # set this to the directory you want scanned. # * if have multiple... (6 Replies)
Discussion started by: jcdole
6 Replies

6. Shell Programming and Scripting

sed insert new line does not update file

Hi all, I have a file called "text.cpp" with the first line of "1" afterwards I tried in Ubuntu to type the following sed '12iasdasdasdasdsad' test.cpp > output.txt however when I tried to see the result of output.txt #cat output.txt 1 why is the line 12 is not updated to the... (6 Replies)
Discussion started by: peuceul
6 Replies

7. Shell Programming and Scripting

Insert @Line # - SED (non-GNU)

Just posted on another fellow's question using ed, but I wanted to know about doing it with sed on Unix. For example - I have a file of an unknown length, but I want to add a line after the shell declaration (Line 2). If possible, I'd like the example to be able to just substitute in a number and... (2 Replies)
Discussion started by: Vryali
2 Replies

8. Shell Programming and Scripting

Using sed to insert text file at first line

sed '1r file.txt' <source.txt >desti.txt This example will insert 'file.txt' between line 1 and 2 of source.txt. sed '0r file.txt' <source.txt >desti.txt gives an error message. Does anyone know how 'sed' can insert 'file.txt' before the first line of source.txt? (18 Replies)
Discussion started by: psve
18 Replies

9. Shell Programming and Scripting

sed insert text at particular line

I know that sed -n '12p' file will print line 12 but how might I insert text to a specified line? thanks (2 Replies)
Discussion started by: action_owl
2 Replies

10. Shell Programming and Scripting

sed - how to insert chars into a line

Hi I'm new to sed, and need to add characters into a specific location of a file, the fileds are tab seperated. text <tab> <tab> text <tab> text EOL I need to add more characters to the line to look like this: text <tab> <tab> newtext <tab> text <tab> text EOL Any ideas? (2 Replies)
Discussion started by: tangentviper
2 Replies
Login or Register to Ask a Question