Visit Our UNIX and Linux User Community


How to append line with sed?


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting How to append line with sed?
# 1  
Old 10-17-2010
How to append line with sed?

Input:
Code:
gstreamer-plugins-good
gstreamer-plugins-bad
gstreamer-plugins-ugly

Output should be:
Code:
gstreamer-plugins-good gstreamer-plugins-bad gstreamer-plugins-ugly

How can it be done with sed?
# 2  
Old 10-17-2010
Hi.

Try:

Code:
$ sed -e :h -e '$! N; s/\n/ /; th' file
gstreamer-plugins-good gstreamer-plugins-bad gstreamer-plugins-ugly

# 3  
Old 10-17-2010
Quote:
Originally Posted by scottn
Hi.

Try:

Code:
$ sed -e :h -e '$! N; s/\n/ /; th' file
gstreamer-plugins-good gstreamer-plugins-bad gstreamer-plugins-ugly

What does the $! do here?
If i remove it it displays the same result.

And is it possible to do the same thing without using a label and jump?
# 4  
Old 10-17-2010
Code:
tr "\n" " " < file

# 5  
Old 10-19-2010
Code:
# cat file
gstreamer-plugins-good
gstreamer-plugins-bad
gstreamer-plugins-ugly

Code:
# sed -e :a -e 'N;s/\n/ /' -e 'ta' file
gstreamer-plugins-good gstreamer-plugins-bad gstreamer-plugins-ugly



---------- Post updated at 12:41 PM ---------- Previous update was at 12:28 PM ----------

Quote:
Originally Posted by cola
What does the $! do here?
If i remove it it displays the same result.

And is it possible to do the same thing without using a label and jump?
1-) actually i think all the same things..because $! --> means dont process for last line and go for others..already there is not a newline after the last line..
2-) without using a label and jump --> is not successfull if you use without label then result is process just every two lines.


regards
ygemici

Last edited by ygemici; 10-20-2010 at 03:30 AM..
# 6  
Old 10-19-2010
Quote:
Originally Posted by cola
What does the $! do here?
If i remove it it displays the same result.

And is it possible to do the same thing without using a label and jump?
$! N is the same as $!N, which means append the next line except when on the last line. This is for older seds that have a bug if I'm not mistaken. I think for most seds you can just use N

Previous Thread | Next Thread
Test Your Knowledge in Computers #461
Difficulty: Medium
Simple Network Time Protocol (SNTP) is a less complex implementation of NTP, using the same protocol but without requiring the storage of state over extended periods of time.
True or False?

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

sed command to append word at end of line

hello Team, I am looking for sed command or script which will append word at end of line. for example. I want to validate particular filesystem with mount |<filesystem name> command. if nodev parameter is not there then it should add in the fstab file with receptive to the filesystem. # mount... (8 Replies)
Discussion started by: ghpradeep
8 Replies

2. 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

3. Shell Programming and Scripting

sed - append line after block

Hi, I posted in another section, but no reply yet. I have an ini file with sections denoted as follows (for example) blah=blah blee=blee bloo=bloo blur=blur blaa=blaa I have ksh script that needs to append a line ${line} to the end of section ${section} I saw this... (7 Replies)
Discussion started by: andyatit
7 Replies

4. Shell Programming and Scripting

SED and Solaris Append line to the end of File does not work

Hello, I have to add a new line at the end of a File on Solaris-System: I think my script should be right, because I evaluated it to other threads. However the script does not what I am expected it should do. My file might look like this: Line1 Line2 Line3 And my script could... (7 Replies)
Discussion started by: Timo_HR
7 Replies

5. Shell Programming and Scripting

sed to append on specific line in password file

I have the a group file and my ftp group line looks like this ... (3 Replies)
Discussion started by: slufoot80
3 Replies

6. Shell Programming and Scripting

sed append without using new line

im trying to append to the end of the line using sed but I want to do it without creating a new line the text to which I want to append is all in capital letters. I want to do something like this: LINE]Foo but when I do this: //a\ ] Foo it prints foo on a new line: LINE ]Foo ... (11 Replies)
Discussion started by: mrjavoman
11 Replies

7. UNIX for Dummies Questions & Answers

sed - append text to every line

Hi all I tried this on an old version of sed on NCR Unix MP-RAS: sed -e "s/$/nnn/" file1 >file2 This file (file1): the cat sat on the mat. the cat sat on the mat. the cat sat on the mat. becomes this (file2): the cat sat on the mat.nnn the cat sat on the mat.nnn nnn the... (3 Replies)
Discussion started by: jgrogan
3 Replies

8. Shell Programming and Scripting

Sed : identify a pattern and append a word at the end of a line

Hello to all, On aix, I want to identify a term on a line in a file and then add a word at the end of the line identified. I do not want the word to be added when the line contains the symbol "#". I use the following command, but it deletes the term identified then adds the word. #sed... (4 Replies)
Discussion started by: dantares
4 Replies

9. UNIX for Dummies Questions & Answers

using sed to append text to the end of each line

Anyone know how to use SED to append a comma to the end of each line example: field1,field2,field3,field4 If i Cat /textfile ---- How can i append the end of /textfile with a comman? (8 Replies)
Discussion started by: Redg
8 Replies

10. Shell Programming and Scripting

Using SED to append character to each line

Hey - my first post here, and I'm a total SED newb. I've looked around for previous help on this, but have so far been unsuccessful. I have a program (AMStracker for OS X) that outputs data in the terminal. Output is in this form: . . . 3 0 -75 3 0 -76 3 0 -77 ... (4 Replies)
Discussion started by: c0nn0r
4 Replies

Featured Tech Videos