[Chapter 35] 35.8 Centering Lines in a File
Author: Jerry Peek, Tim O'Reilly & Mike Loukides
Date: 1998-08-04T21:48:05Z

#

| Chapter 35 You Can't Quite Call This Editing |

## 35.8 Centering Lines in a File

Here's an awk script, written by Greg Ubben, that centers lines across an 80-character line. If your system understands `#!` (44.4, 45.3), this script will be passed directly to awk without a shell. Otherwise, put this into a Bourne shell script (44.14):

>     #!/usr/bin/awk -f
>     {
>         printf "%" int(40+length($0)/2) "s\n", $0
>     }

For each input line, the script builds a printf command with a width specification (like `%``width` `s`) that's just wide enough to center the line.

In vi, you can use a filter-through (30.22) command to center lines while you're editing. Or just use center from the command line. For example:

>     % center afile > afile.centered
>     % sort party_list | center | lp

- JP

35.7 offset: Indent Text |  | 35.9 Splitting Files at Fixed Points: split