[TriLUG] vi or sed or perl question - joining lines
oberry at trilug.org
Mon Jun 4 14:15:19 EDT 2007
On Fri, Jun 01, 2007 at 02:33:46PM -0400, Alan Porter wrote:
> > I have a big goofy text file I need to get into a more usable format.
> > Basically what I need to do is join every 12 lines into 1 line, down
> > through the entire file. Does anyone have a good suggestion on how to do
> > this? I know that I must have done this same thing 2 years ago, because I
> > found an earlier version of this same data from May 2005 that I somehow
> > converted, but I now have no idea how it was done.
> It might sound wacky, but I would start by echo-ing "12Jj12Jj12Jj" onto
> an xterm a dozen times. Then cut that with the mouse and paste it into
> your vi session. It's a hack, but it works pretty well. Slow down
> towards the end of the file.
It's a little late, but I'm catching up with mail after being away for a
week. A cleaner way would be to use a vim macro:
qa (start recording macro 'a')
12J (do the joining)
j (move down one line)
q (stop recording macro)
10 at a (replay macro 10 times, or however many desired)
Lovely stuff vim macros, and useful for all kinds of things.
More information about the TriLUG