remove newlines from a file
George Davidovich
freebsd at optimis.net
Tue Sep 1 20:51:58 UTC 2009
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.
--
George
More information about the freebsd-questions
mailing list