Replace newline with comma.


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting Replace newline with comma.
# 1  
Old 01-15-2011
Replace newline with comma.

I have output from a file like this:
Code:
15,01,11,14:06
235

I would like to change this to:
Code:
15,01,11,14:06,235

Removing newline and change to ","
I now this can be done with tr
cat OUT | tr '\n' ',''

My problem is that tr is not implemented in this shell. sed is, show it should be possible using sed, but how?

---------- Post updated at 03:09 PM ---------- Previous update was at 02:27 PM ----------

After some more investigating, I did find this:
Code:
cat OUT | sed -n -e 'H;${x;s/\n/,/g;s/^,//;p;}'

It gives me desire result, but have no clue what it does Smilie

Last edited by Scott; 01-15-2011 at 10:23 AM.. Reason: Code tags
# 2  
Old 01-15-2011
If you want all the lines joined up, like with the sed you showed, then simpler is:
Code:
$ paste -sd, file
15,01,11,14:06,235

# 3  
Old 01-15-2011
Thanks, but paste is not implemented in this shell.
# 4  
Old 01-15-2011
Quote:
Originally Posted by Jotne
Thanks, but paste is not implemented in this shell.
sed isn't implemented in the shell either. What do you mean by "shell"?

And what OS are you using?
# 5  
Old 01-15-2011
I put your two lines of output into a file called OUT and joined them with sed:
Code:
sed 'N;s/\n/,/' OUT

Results in:
Code:
 
15,01,11,14:06,235

# 6  
Old 01-15-2011
Thanks for feedback

Os is BusyBox v1.01
# 7  
Old 01-15-2011
Ah, OK Smilie

Anyway, you have the sed you need, so that's good!

You have cat on BusyBox, which is also good, but you don't need it here:
Code:
sed -n -e 'H;${x;s/\n/,/g;s/^,//;p;}' OUT

As you asked, the sed appends every line from the file it's reading to the "hold space" (H), and on the last line ($) swaps it with the "pattern space" (x), and then, since the entire file is effectively in the pattern space, can go about replacing all the newlines with commas (s/\n/,/g). Finally it tidies up the leading comma (s/^,//) left by H before printing the whole lot (p), that was initially prevented by the -n option.

Last edited by Scott; 01-15-2011 at 01:04 PM..
Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. UNIX for Beginners Questions & Answers

Replace newline with comma and append quotes

Hi, I have below requirement. Apple Orange Banana Required O/p in bash 'Apple,Orange,Banana' Can you please help. Please wrap your samples, codes in CODE TAGS as per forum rules. (3 Replies)
Discussion started by: Rtk
3 Replies

2. Shell Programming and Scripting

Replace spaces with underscores up to first comma but not after the comma

I have a comma delimited file of major codes and descriptions. I want to replace all occurrences of spaces with underscores up to the first comma (only in the first field), but not replace spaces following the comma. For instance I have the following snippet of the file: EK ED,Elementary and... (7 Replies)
Discussion started by: tdouty
7 Replies

3. Shell Programming and Scripting

Replace comma and blank with comma and number

I, I have a file and i need to replace comma and blank space with comma and 0. cat file.txt a,5 b,1 c, d, e,4 I need the output as cat file.txt a,5 b,1 c,0 d,0 (4 Replies)
Discussion started by: jaituteja
4 Replies

4. Shell Programming and Scripting

Command to replace newline with comma

Hi Experts, I need an urgent help in replacing newline characters in my single column file by a comma. I am using following command for this purpose: sed -n -e 'H;${x;s/\n/,/g;s/^,//;p;}' parameter.rtf | rev | cut -c 4- | revMy input file has: TABLE_1 TABLE_2 TABLE_3 What I need:... (11 Replies)
Discussion started by: neerndg123
11 Replies

5. Shell Programming and Scripting

How to replace NewLine with comma using sed?

Hi , I have a huge file with following records and I want to replace the last comma with ',NULL'. I try using SED but could not create a correct script . In my opinion I need a script which can convert ,/n with ,NULL/n 1,CHANGE_MEMBER,2010-12-28 00:05:00, 2,CHANGE_MEMBER,2012-09-02... (8 Replies)
Discussion started by: Ajaypal
8 Replies

6. Shell Programming and Scripting

Replace comma delimiter by newline

The input file is as below AR,age,marks,roll,section,evin,25,80,456,A,atch,23,56,789,B,eena,24 ,78H245,C,Ps,ot,ecessary,hat,ame comes first then age and rest AR AZ,kevin,25,80,456,A,Satch,23,56,789,Satch,23,56,789,B,Meena,24,78,H245,C,AZ ................ ................ I am writting... (8 Replies)
Discussion started by: millan
8 Replies

7. Shell Programming and Scripting

Script using Sed :Search all patterns & after the last Patter, insert a newLine with Comma Sep Value

I am trying to search the pattern "ARS (11)" and after the LAST pattern, i am trying to open new line and enter text using sed. My Existing Text file is Users.txtpaul, Paul Smith, Stevn Smiley, REQ000001, ARS (11) sam, Sam Martin, Stevn Smiley, REQ000001, ARS (11) mike, Mike Conway, Stevn... (8 Replies)
Discussion started by: evrurs
8 Replies

8. Shell Programming and Scripting

replace >< with > newline <

Hi All, I have the command in PERL for performing this, but Can you please suggest me how can i perform this using AWK: My input xml file looks like this: <aaa>hello</aaa><bbb>hai</bbb> I want the output like this ( means need new line after end of each xml tag): <aaa>hello</aaa>... (1 Reply)
Discussion started by: HemaV
1 Replies

9. Shell Programming and Scripting

Replace comma with newline

Hi, for some reason I cant seem to figure this out. I have a file which looks something like this word word word word word,word,word word word word,word,word,word,word word word Basically I want this whole thing to be a list with 1 word on each line like this... word word word... (1 Reply)
Discussion started by: eltinator
1 Replies

10. Shell Programming and Scripting

replace a newline (\n)

dear all: maybe i have a file like : 12 34 56 78 end how do write can i replace newline into NA : make the file inte : 12 NA 34 NA 56 78 END (3 Replies)
Discussion started by: jeter
3 Replies
Login or Register to Ask a Question