Help with sed and inserting text from another file


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting Help with sed and inserting text from another file
# 1  
Old 12-14-2012
Help with sed and inserting text from another file

I need to insert text from one file into another file after specific term. I guess sed is the best method of doing this and I can insert a specified text string using this script but I am not sure how to modify it to insert text from another file:

Code:
#!/bin/sh
sed 's/\<VirtualHost *:80>/.*/&\nINSERTED_TEXT/' /etc/apache2/sites-available/default > /apache2/sites-available/default.tmp
mv /etc/apache2/sites-available/default.tmp /etc/apache2/sites-available/default

Thanks
# 2  
Old 12-14-2012
After which line and where you want to insert the new data.

Can you show us the file.

What output you are getting after using the above command .
# 3  
Old 12-14-2012
Thanks for the reply, I want to insert the text form the etc/apache2/apache_mod.txt after the line <VirtualHost *:80>

After abit more googleing I have come up with this:
Code:
sed '\<VirtualHost *:80>\/r /etc/apache2/apache_mod.txt' /etc/apache2/sites-available/default > /etc/apache2/sites-available/default.tmp

But I get the following error:
Code:
sed: -e expression #1, char 50: unterminated address regex

Thanks

---------- Post updated at 10:16 AM ---------- Previous update was at 10:05 AM ----------

Right I have now managed to get rid of the error with this command:
Code:
sed '/<VirtualHost *:80>/r /etc/apache2/apache_mod.txt/' /etc/apache2/sites-available/default > /etc/apache2/sites-available/default.tmp

But the file does not contain the text from /etc/apache2/apache_mod.txt Smilie
# 4  
Old 12-14-2012
Wrench

Can you check if the command produces any output? If possible post the few lines of both the file..
Code:
sed '/<VirtualHost *:80>/!d' /etc/apache2/sites-available/default

# 5  
Old 12-14-2012
Quote:
Originally Posted by michaelrozar17
Can you check if the command produces any output? If possible post the few lines of both the file..
Code:
sed '/<VirtualHost *:80>/!d' /etc/apache2/sites-available/default

No output and the file appears unchanged.

Here's the output from cat:
Code:
root@server:/etc/zentyal/hooks# cat /etc/apache2/sites-available/default
ServerName server.***.com


<VirtualHost *:80>
        ServerAdmin webmaster@***.com

        DocumentRoot /var/www/
        <Directory />
                Options FollowSymLinks
                AllowOverride None
        </Directory>
        <Directory /var/www/>

Thanks
# 6  
Old 12-14-2012
Try as..
Code:
sed '/<VirtualHost \*:80>/!d' /etc/apache2/sites-available/default

# 7  
Old 12-14-2012
output:
Code:
# sed '/<VirtualHost \*:80>/!d' /etc/apache2/sites-available/default
<VirtualHost *:80>

---------- Post updated at 11:26 AM ---------- Previous update was at 11:18 AM ----------

so modified command to:
Code:
sed '/\<VirtualHost \*:80>\/r /etc/apache2/apache_mod.txt/' /etc/apache2/sites-available/default > /etc/apache2/sites-available/default.tmp

But still the text from /etc/apache2/apache_mod.txt is not appearing in /etc/apache2/sites-available/default.tmp

Here is the contents of /etc/apache2/apache_mod.txt:
Code:
# cat /etc/apache2/apache_mod.txt
TEST Text
test text

Also tried:
Code:
sed '/<VirtualHost \*:80>/r /etc/apache2/apache_mod.txt/' /etc/apache2/sites-available/default > /etc/apache2/sites-available/default.tmp

Smilie
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 text into a file with awk or sed

Hello, I've been trying to get a script working that fetches weather-data and converts it into an .ics file. The script works so far put I'm stuck at the point where I need to add specific static data. A thorough search through the forum did not point me into the right direction. #!/bin/bash... (3 Replies)
Discussion started by: Schubi
3 Replies

2. Shell Programming and Scripting

Inserting text into a new file

Hi all, I want to create a file and then insert some text into it. I'm trying to create a .sh script that will create a new python file from a template. Can someone tell me why this won't work, touch $1 | sed -e '1i\Some test code here' Sorry I'm quite new to all this! Just as a side... (3 Replies)
Discussion started by: ahodgson
3 Replies

3. UNIX for Dummies Questions & Answers

Inserting a column into a text file

I have a tab delimited text file with multiple columns (data.txt). I would like to insert a column into the text file. The column I want to insert is in a text file (column.txt). I want to insert it into the 5th column of data.txt. How do I go about doing that? Thanks! (2 Replies)
Discussion started by: evelibertine
2 Replies

4. Shell Programming and Scripting

Inserting text with SED

Hi guys, I need to insert @test.com after each entry in my .txt file. 1 2 3 4 1@test.com 2@test.com 3@test.com 4@test.com Tried to use cat test.txt |sed 's/$/@test.com/'but it does this instead: 1 @test.com 2 (6 Replies)
Discussion started by: spirm8
6 Replies

5. Shell Programming and Scripting

Inserting text to file, sed and variable not acting right

I want to put text stored in a variable into a file on the 7th line. I'm having trouble with this line: sed '7i\'$text'' $file It works perfectly for a single word, but fails if there are two words because of the space. I've tried several forms of quoting and this is the only one that... (2 Replies)
Discussion started by: fubaya
2 Replies

6. Shell Programming and Scripting

inserting a string to a text file

Hello Can somebody please help me with the following script? I'm trying to create a text file with 20 blank lines and then insert a string in line 2 but nothing is printed in the itxtfile. I can create the file with 20 blank lines but when I "tell" it to print something on the second line, it... (4 Replies)
Discussion started by: goude
4 Replies

7. Shell Programming and Scripting

Inserting text and modifying the file

I am in a dire need of doing this job , please help from shell script or perl script. It will be highly appreciated. Please have a look at the following INPUT file; The first 14 rows are not of interest but I want them to be included in the output file as they are. From the row 14... (3 Replies)
Discussion started by: digipak
3 Replies

8. Shell Programming and Scripting

inserting subscriber no in text file using KSH....

:confused:Dears , I have text file I need to insert the subscriber number at position 32, and need to keep the next field at position 53 (no increasing of the record lenght), I mean I just want to replace the spaces at position 32 with subscirber number . for example A B A ... (1 Reply)
Discussion started by: atiato
1 Replies

9. Shell Programming and Scripting

Inserting New Line in File using Sed ??

Dear All, I have a file called football where i have a list of 11 players each on different lines. I wish to add a name of another player on the first line. I have created a file called footballscript in vi writing the following sed command to achieve this ... cat football | sed -e '1 i\... (4 Replies)
Discussion started by: Mary_xxx
4 Replies

10. Shell Programming and Scripting

Question about sed. Inserting text in field?

Hi, I have tried to develop a sed script that inserts date and time in the third field in the first and second row below. The third row is an example and it shows where the date and time should be inserted. The script should check if the row already has date and time in the third field and if it... (2 Replies)
Discussion started by: pcrs
2 Replies
Login or Register to Ask a Question