sed not working for me.


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting sed not working for me.
# 1  
Old 07-01-2008
Question sed not working for me.

Hi All,
I need to modify ifcfg-eth0 file. The file currently contains the following:

Code:
ONBOOT=no

The desired output of the file is:

Code:
ONBOOT=no
DEVICE=eth0
BOOTPROTO=static
IPADDR=234.235.34.56
NETMASK=255.255.255.0
GATEWAY=234.235.34.1

I know sed can help me in this, and this is what I tried.

Code:
sed '1i\
DEVICE=eth0 
' ifcfg-eth0 >> temp1
sed '2i\
BOOTPRO=static 
' ifcfg-eth0>> temp1

But this is somehow not working.. Can anyone let me know, where I may be going wrong here.
# 2  
Old 07-01-2008
Assuming you want to append the lines after the line "ONBOOT=no":

Code:
awk '/ONBOOT=no/{
print
print "DEVICE=eth0"
print "BOOTPROTO=static"
print "IPADDR=234.235.34.56"
print "NETMASK=255.255.255.0"
print "GATEWAY=234.235.34.1"
next
}1' file > new_file

Regards
# 3  
Old 07-01-2008
Thanks a lot Franklin52 for the awk command. I need to take the ipaddress from the user, so is it possible to use variables in this command.

I am not very good at the awk commands, but I have tried the following.I guess awk variables are different so I imported the ip variable, but it does not evaluate the unix command in there.

Code:
ip=234.235.34.56
export ip
awk '/ONBOOT=no/{
print
print "DEVICE=eth0"
print "BOOTPROTO=static"
print "IPADDR=`echo$ip`"
print "NETMASK=255.255.255.0"
print "GATEWAY=234.235.34.1"
next
}1' temp > temp1

Output of the file:

Code:
ONBOOT=no
DEVICE=eth0
BOOTPROTO=static
IPADDR=`echo$ip`
NETMASK=255.255.255.0
GATEWAY=234.235.34.1

Can you please help..
# 4  
Old 07-01-2008
Something like:

Code:
awk -v ip="234.235.34.56" '/ONBOOT=no/{
print
print "DEVICE=eth0"
print "BOOTPROTO=static"
print "IPADDR=" ip
print "NETMASK=255.255.255.0"
print "GATEWAY=234.235.34.1"
next
}1' file > new_file

Regards
# 5  
Old 07-01-2008
Thanks a lot!! This helps!
Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. UNIX for Beginners Questions & Answers

Working with if and sed in UNIX

I have a text file containing multiple lines like password="&test."; password="xyz"; password='write some'; password="&testwrite."; today='o1jan2017'd; ----------------- ------------------ I don't want to replace the string value which are starting with & for Password variable... (3 Replies)
Discussion started by: harshabag
3 Replies

2. UNIX for Beginners Questions & Answers

sed command not working

Hello There - Iam trying to get this expdp running for oracle backup. And this is the code below: ### Run the export. ### Comment out any LOGFILE parameters in the .par file. if grep -i "Logfile" /<Path>$1_$2_$3.par; then ## Comment out any LOGFILE... (7 Replies)
Discussion started by: bkilaru
7 Replies

3. Shell Programming and Scripting

I sed its not working!

sed -i '' 's:'<string>/Users/testuser/Desktop/test.sh</string>':'something':g' log.txt The log file has this in <string>/Users/testuser/Desktop/test.sh</string> and I want to change it to something This code isn't working any ideas? Its doing my head in! (4 Replies)
Discussion started by: digitalviking
4 Replies

4. Shell Programming and Scripting

Sed not working the way i want it

I dont get something about sed If i have a text file inside contain a:a:a:a:a sed "s/"$title:$author:$price:$qtyAvailable:$qtySold"/"$Ntitle:$author:$price:$qtyAvailable:$qtySold"/" This work!! i can change a to be something else but If i have a text file inside contain Tom Tom:La... (2 Replies)
Discussion started by: GQiang
2 Replies

5. Shell Programming and Scripting

sed not working

hello, I am not able to redirect the output to the same file, where I am searching and replacing a pattern. D:\>cat abc.txt abc D:\>sed "s\abc\xyz\g" abc.txt > abc.txt D:\>cat abc.txt D:\> If I dont redirect the output to abc.txt, the command is working fine, even if I append the... (10 Replies)
Discussion started by: chetanpunekar
10 Replies

6. Shell Programming and Scripting

sed -i not working in HP unix

hi i want to append the number in each file,but when i ran this command:- sed -i "1i 50" filename its giving error sed: illegal option -- i in HP unix but its working in linux. any advice !!!!!!!!! (6 Replies)
Discussion started by: abhigrkist
6 Replies

7. UNIX for Dummies Questions & Answers

sed not working

Hi All, Need some assistance n my script. My file is LBXBC040904071724 and output should be LBX0904071704 tempFile=`echo $file | cut -c 4-7` tempFile1=`echo $file | sed -e s/$tempFile//` min=`expr substr $tempFile1 12 2` cycleno=`expr substr $tempFile 3 2` newFile=`echo $tempFile1 |... (2 Replies)
Discussion started by: jda
2 Replies

8. UNIX for Dummies Questions & Answers

sed not working

I am working on sed ... to replace a string... but not able to save. i need to repalce a string in httpd.conf in numerous directories. I am doing this find /opt/apache/*/conf/ -name httpd.conf -exec sed 's/LogLevel debug/LogLevel error/g' {} \; even tried with find... (4 Replies)
Discussion started by: logic0
4 Replies

9. UNIX for Dummies Questions & Answers

Sed command not working

Hi, I have a test file as follows: 1G102119 ^ AA1179291 ^ 06oct2006 09:50:35^ 73.4^ 2^ 13^ 0^ 1493 1G102119 ^ AA1179291 ^ 06oct2006 09:49:45^ 73.4^ 2^ 13^ 0^ 1493 1G102119 ^ AA1179291 ^ 06oct2006 09:48:58^ 73.4^ 2^ 17^ 0^ 2 1G102119 ... (9 Replies)
Discussion started by: shashi_kiran_v
9 Replies

10. UNIX for Advanced & Expert Users

sed not working

Hi, Iam doing the following using sed in a script , it is NOT working line_old= 3754|Yes|Yes line_new= 3754|Yes|Yes|Yes|Yes sed -e 's/$line_old/$line_new/' data.$$ > tmp.$$ mv tmp.$$ data.$$ Regards (5 Replies)
Discussion started by: baanprog
5 Replies
Login or Register to Ask a Question