How to write a space with sed?


 
Thread Tools Search this Thread
Top Forums UNIX for Beginners Questions & Answers How to write a space with sed?
# 1  
Old 10-12-2016
How to write a space with sed?

Hi,

I wish insert a line into a file, I created it with :
Code:
#--------------------------------------------------------------
# The loopback network interface
#--------------------------------------------------------------

auto lo
iface lo inet loopback

#--------------------------------------------------------------
# Eth0
#--------------------------------------------------------------
auto eth0
iface eth0 inet static

Then, I have inserted my line where I wanted with this command :
Code:
 
sed -i 13i' address 192.168.1.96' choice_interfaces.txt

It works but it doesn't respect the space at the beginning of the line before " address" How can I do?

Thanks in advance Smilie
# 2  
Old 10-12-2016
Try :


Code:
sed -i '13i\
 address 192.168.1.96
' infile3596

or
Code:
sed -i '13s/^/ address 192.168.1.96\
/' infile

with GNU sed:
Code:
sed -i '12s/^/ address 192.168.1.96\n/' infile


Last edited by Scrutinizer; 10-12-2016 at 05:23 PM..
This User Gave Thanks to Scrutinizer For This Post:
# 3  
Old 10-12-2016
in case of perl,

Code:
perl -pe 's/^/ Address XYZ\n/ if ( $. == 13)' file

Here i am trying to insert a string " Address XYZ\n" so existing line/string are moved to next line.

Scrutinizer sed soultion or above perl solution will not give desired output if line13 does not exist Smilie

Seems Scrutinizer added two other solutions later and one of them is similar to perl solution SmilieSmilie

Last edited by greet_sed; 10-12-2016 at 05:39 PM.. Reason: add text
This User Gave Thanks to greet_sed For This Post:
# 4  
Old 10-12-2016
Quote:
Originally Posted by Scrutinizer
Try :


Code:
sed -i '13i\
 address 192.168.1.96
' infile3596

or
Code:
sed -i '13s/^/ address 192.168.1.96\
/' infile

with GNU sed:
Code:
sed -i '12s/^/ address 192.168.1.96\n/' infile

Thanks it works SmilieSmilie But it's right that if the line 13 doesn't exist its not working
# 5  
Old 10-12-2016
@ Scruntizer:

IMHO, it has to be
Code:
 sed -i '12s/$/\n address 192.168.1.96/' file

instead of
Code:
 sed -i '12s/^/ address 192.168.1.96\n/' file


Last edited by greet_sed; 10-12-2016 at 05:44 PM.. Reason: Add Code tags
This User Gave Thanks to greet_sed For This Post:
# 6  
Old 10-12-2016
Quote:
Originally Posted by greet_sed
@ Scruntizer:

IMHO, it has to be
Code:
 sed -i '12s/$/\n address 192.168.1.96/' file

instead of
Code:
 sed -i '12s/^/ address 192.168.1.96\n/' file

Great ! many thanks SmilieSmilie
# 7  
Old 10-13-2016
i (insert) does not work on the last line.
a (append) works even on the last line. It must be a multi-line in order to work with all sed versions.
Code:
sed '12a\
 address 192.168.1.96/' choice_interfaces.txt

Instead of a number you could have a contents search
Code:
sed '/^iface eth0 inet static/a\
 address 192.168.1.96/' choice_interfaces.txt

This User Gave Thanks to MadeInGermany For This Post:
Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. Solaris

Write to 1 failed [No space left on device] Error

Running a installation on Solaris 11 and getting error write to 1 failed If anyone can advise ? ORIGINAL_PATH="${PATH}" # prepend /usr/xpg4/bin to PATH as needed temporaryPath=`expr "${PATH}:" : '\(/usr/xpg4/bin:\)'` if then PATH="/usr/xpg4/bin:${PATH}" seem to have... (6 Replies)
Discussion started by: Mpumi
6 Replies

2. UNIX for Advanced & Expert Users

Sed: couldn't write 1378 items to stdout: No space left on device

Hi , In file first line start with "",when trying to remove using sed i am getting the below error .Please advise sed -e 's///g' -e 's/$]//g' segment1.txt >>segment_m1 sed: couldn't write 1378 items to stdout: No space left on device Thanks, Mohan (1 Reply)
Discussion started by: mohan705
1 Replies

3. Shell Programming and Scripting

Write to 1 failed [No space left on device]

I am getting error in a shell script having a simple date command. Error is " write to 1 failed ". We saw that /tmp folder was 100% full. When we cleared some space in /tmp folder then script worked fine. Why does date command(or any other command) require space in /tmp folder? Which settings... (6 Replies)
Discussion started by: mahish20
6 Replies

4. Shell Programming and Scripting

sed will not write to same file

I am a scripting noob, and having much trouble getting this script to run correctly. Upon start it should read the home directory and sort the files into a text file. Then have user enter a user name and insert it into line 1 of the same text file. Then have the date insert into the second line of... (8 Replies)
Discussion started by: bbaumg02
8 Replies

5. Solaris

visudo: write error: No space left on device

Hi All, This is Sandeep Gupta, I am facing a problem with sudo command. Whenever i am executing the command "visudo" i am getting the error "visudo: write error: No space left on device". but i have checked on my Solaris Box everything is ok, i have enough free space on my box, and also... (13 Replies)
Discussion started by: Sandeepgupta
13 Replies

6. Programming

Write to a specific memory space.

Hello all. I need a simple way to write to a specific memory space (/dev/mem). In a bash script if possible. (I am using dd to read the changes) Thanks in advace. (4 Replies)
Discussion started by: King_Richee
4 Replies

7. BSD

Write to a specific memory space.

Hello all. I need a simple way to write to a specific memory space (/dev/mem). In a bash script if possible. (I am using dd to read the changes) Thanks in advace. (0 Replies)
Discussion started by: King_Richee
0 Replies

8. Shell Programming and Scripting

How To Write Sed Function

hi iam facing problem regarding sed function. give me reply with example of sed function. and what to meanings of $# and @ in scripting please as reply as soon as possible (1 Reply)
Discussion started by: naveeng.81
1 Replies

9. UNIX for Dummies Questions & Answers

cat: write error: No space left on device

I am trying to create new files under my directory...but i getting the following message... cat: write error: No space left on device How do we handle this error. I am not getting this error when I login as the super user (3 Replies)
Discussion started by: igandu
3 Replies

10. Shell Programming and Scripting

sed to read and write to very same file

This is likely to be a dumb one. How can I use sed to substitute string occurances having it read from an input file and write to this very same file ? I have a file with lots of occurances of '2006', I want to change it to '2007', but I'd like these changes to be saved on the input file. ... (5 Replies)
Discussion started by: 435 Gavea
5 Replies
Login or Register to Ask a Question