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 :) Steve
Description: S/MIME Cryptographic Signature