#!/bin/awk -f # f - format text into 72-char lines # taken from Brian Kernighan's COS 333 slides /./ { for (i = 1; i <= NF; i++) addword($i) } /^$/ { printline(); print "" } END { printline() } function addword(w) { if (length(line) + length(w) > 72) printline() line = line space w space = " " } function printline() { if (length(line) > 0) print line line = space = "" }