remove newlines from a file

Steve Bertrand steve at ibctech.ca
Wed Sep 2 00:59:55 UTC 2009


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
-------------- next part --------------
A non-text attachment was scrubbed...
Name: smime.p7s
Type: application/x-pkcs7-signature
Size: 3233 bytes
Desc: S/MIME Cryptographic Signature
Url : http://lists.freebsd.org/pipermail/freebsd-questions/attachments/20090902/9dbdcf18/smime.bin


More information about the freebsd-questions mailing list