Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 01 Sep 2009 20:59:56 -0400
From:      Steve Bertrand <steve@ibctech.ca>
To:        Warren Block <wblock@wonkity.com>
Cc:        George Davidovich <freebsd@optimis.net>, freebsd-questions@freebsd.org
Subject:   Re: remove newlines from a file
Message-ID:  <4A9DC38C.5090002@ibctech.ca>
In-Reply-To: <alpine.BSF.2.00.0909011818190.7738@wonkity.com>
References:  <F2B402210EF1C4F7331B41C2@utd65257.utdallas.edu> <20090901205201.GA6126@marvin.optimis.net> <4A9DA1AB.8020102@ibctech.ca> <alpine.BSF.2.00.0909011818190.7738@wonkity.com>

next in thread | previous in thread | raw e-mail | index | archive | help

[-- Attachment #1 --]
Warren Block wrote:
> On Tue, 1 Sep 2009, Steve Bertrand wrote:
>> George Davidovich wrote:
>>> On Tue, Sep 01, 2009 at 06:03:19PM +0000, Paul Schmehl wrote:
>>>> I found a sed tutorial once that did this, but I can't seem to find it
>>>> again.
>>>
>>> You're probably thinking of "Useful One-Line Scripts for Sed":
>>>
>>> http://sed.sourceforge.net/sed1line.txt
>>>
>>> A good follow-up:
>>>
>>> http://www.osnews.com/story/21004/Awk_and_Sed_One-Liners_Explained
>>>
>>>> I have a file with multiple lines, each of which contains a single ip
>>>> followed by a /32 and a comma.  I want to combine all those lines into
>>>> a single line by removing all the newline characters at the end of
>>>> each line.
>>>>
>>>> What's the best/most efficient way of doing that in a shell?
>>>
>>> A sed solution would be
>>>
>>>   sed -e :a -e '$!N; s/\n/ /; ta' my_file
>>>
>>> Other (easier to remember) solutions could include:
>>>
>>>   tr -d '\n' < my_file
>>>   tr '\n' ' ' < my_file
>>>
>>>   echo $(cat my_file)  # not so useless use of cat!
>>>
>>>   paste -s my_file
>>>
>>>   while read line; do
>>>     joined="$joined $(echo $line)"
>>>   done < my_file
>>>   echo $joined
>>>
>>> Lots of options, of course.  Even more with Perl.
>>
>> Yeah, how 'bout Perl:
>>
>> % perl -ne 's/\n/ /g; print;' < tests/ips.txt
> 
> perl -pe 'chomp' myfile
> 
> is somewhat easier.  

Niiiice golf...

> Works with Ruby, too.

Is Ruby Perl? ;)

Steve

[-- Attachment #2 --]
0	*H
010	+0	*H
00CK9AbxIUw0
	*H
0b10	UZA1%0#U
Thawte Consulting (Pty) Ltd.1,0*U#Thawte Personal Freemail Issuing CA0
090507231610Z
100507231610Z0B10UThawte Freemail Member10	*H
	steve@ibctech.ca0"0
	*H
0
DZ杙<2IⵀfrsE6q?0.>
S@Œ!V?A\Q
r-aZ
Ōf/0{OYQhɏߴ
F_\Q0BF=<_.a*3epeY|tݼcvlҷ+@piQA{2E9WN4[Z`h6VM/zPbd(GC^K6XV4j<t-0+0U0steve@ibctech.ca0U00
	*H
æ|85aQz-*3HG		.s*Fw*`HvFw;9ytƘn0taC/:WC+LÙ{Oq 1n00CK9AbxIUw0
	*H
0b10	UZA1%0#U
Thawte Consulting (Pty) Ltd.1,0*U#Thawte Personal Freemail Issuing CA0
090507231610Z
100507231610Z0B10UThawte Freemail Member10	*H
	steve@ibctech.ca0"0
	*H
0
DZ杙<2IⵀfrsE6q?0.>
S@Œ!V?A\Q
r-aZ
Ōf/0{OYQhɏߴ
F_\Q0BF=<_.a*3epeY|tݼcvlҷ+@piQA{2E9WN4[Z`h6VM/zPbd(GC^K6XV4j<t-0+0U0steve@ibctech.ca0U00
	*H
æ|85aQz-*3HG		.s*Fw*`HvFw;9ytƘn0taC/:WC+LÙ{Oq 1n0?0
0
	*H
010	UZA10UWestern Cape10U	Cape Town10U
Thawte Consulting1(0&UCertification Services Division1$0"UThawte Personal Freemail CA1+0)	*H
	personal-freemail@thawte.com0
030717000000Z
130716235959Z0b10	UZA1%0#U
Thawte Consulting (Pty) Ltd.1,0*U#Thawte Personal Freemail Issuing CA00
	*H
0Ħ<UsUNʙZhup[v:aQP
0cZ,p+Z?qV˯<6$*+w=+>@dקe*TH<a@dr`00U00CU<0:08642http://crl.thawte.com/ThawtePersonalFreemailCA.crl0U0)U"0 010UPrivateLabel2-1380
	*H
HP.
fgCL!6-6/P p<ab:~t%Pb'qW%ݩ9 Oe_N4[5MwV!x!5$F]_eO1d0`0v0b10	UZA1%0#U
Thawte Consulting (Pty) Ltd.1,0*U#Thawte Personal Freemail Issuing CAK9AbxIUw0	+0	*H
	1	*H
0	*H
	1
090902005956Z0#	*H
	1'^VukOwc0R	*H
	1E0C0
*H
0*H
0
*H
@0+0
*H
(0	+71x0v0b10	UZA1%0#U
Thawte Consulting (Pty) Ltd.1,0*U#Thawte Personal Freemail Issuing CAK9AbxIUw0*H
	1xv0b10	UZA1%0#U
Thawte Consulting (Pty) Ltd.1,0*U#Thawte Personal Freemail Issuing CAK9AbxIUw0
	*H
F.
S-`@4#i'_U闗mthe6ȯ+ZQڊ	3`Xөų uU16	ѕM9>Ƚw(ӸwIwy5=R}Gz\-5LLŨ
݁4S%QЯ<7kXs*cozs!?Qc/2s4.'j~&`m\ZaU"!~DHu\9

Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?4A9DC38C.5090002>