adj—Adjust Lines for Text Files

Contributed by Norman Joseph

[Because the author used his program to format his mail message before sending it, we’re preserving the linebreaks and indented paragraphs in presenting it here as the program’s example. This program is similar to the BSD fmt program.]

        Well, I decided to take you up on your offer.  I’m sure there are more sophisticated gurus out there than me, but I do have a nawk script that I’m kind of fond of, so I’m sending it in.         Ok, here’s the low down.  When I’m writing e-mail, I often make a lot of changes to the text (especially if I’m going to post on the net). So what starts out as a nicely adjusted letter or posting usually ends up looking pretty sloppy by the time I’m done adding and deleting lines.  So I end up spending a lot of time joining and breaking lines all through my document so as to get a nice right-hand margin.  So I say to myself, “This is just the kind of tedious work a program would be good for.”         Now, I know I can use nroff to filter my document through and adjust the lines, but it has lousy defaults (IMHO) for simple text like this.  So, with a view to sharpening my nawk skills I wrote adj.nawk and the accompanying shell script wrapper adj.   Here’s the syntax for the nawk filter adj: adj [-l|c|r|b] [-w n] [-i n] [files ...] The options are:

-l

Lines are left adjusted, right ragged (default).

-c

Lines are centered.

-r

Lines are right adjusted, left ragged.

-b

Lines are left and right adjusted. ...

Get sed & awk, 2nd Edition now with O’Reilly online learning.

O’Reilly members experience live online training, plus books, videos, and digital content from 200+ publishers.