pr
pr is another of those less well-known formatting commands, but it is very useful in the right situation. The headers are not often useful, so pr -t is a good starting point. You can also omit all pagination with -T, which is often more useful when displaying onscreen rather than for print layout. As used in worldcup.sh, pr acts a bit like join, in that it was used to paste four columns of text together into a single page. It can also split single input into multiple columns, much like the ls command does when run interactively. Here a list of 30 rivers would be too much to list one by one, but pr can split them automatically into as many neat and tidy columns as required.
$ wc -l rivers.txt 30 rivers.txt $ pr -T -4 rivers.txt Alamance Deschutes Koochiching Rappahannock Asotin Escambia Latah Scioto Beaver Greenbrier Merrimack Tallapoosa Boise Humboldt Mississippi Tensas Brazos Iowa Neosho Vermilion Cassia Judith Basin Osage Wabash Chattahoochee Kalamazoo Platte Yamill Clearwater Kankakee $ pr -T -5 rivers.txt Alamance Chattahoochee Iowa Merrimack Scioto Asotin Clearwater Judith Basin Mississippi Tallapoosa Beaver Deschutes Kalamazoo Neosho Tensas Boise Escambia Kankakee Osage Vermilion Brazos Greenbrier Koochiching Platte Wabash ...
Get Shell Scripting: Expert Recipes for Linux, Bash, and More now with the O’Reilly learning platform.
O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.