1.\" $OpenBSD: fold.1,v 1.19 2016/10/24 13:46:58 schwarze Exp $ 2.\" $NetBSD: fold.1,v 1.5 1995/09/01 01:42:42 jtc Exp $ 3.\" 4.\" Copyright (c) 1980, 1993 5.\" The Regents of the University of California. All rights reserved. 6.\" 7.\" Redistribution and use in source and binary forms, with or without 8.\" modification, are permitted provided that the following conditions 9.\" are met: 10.\" 1. Redistributions of source code must retain the above copyright 11.\" notice, this list of conditions and the following disclaimer. 12.\" 2. Redistributions in binary form must reproduce the above copyright 13.\" notice, this list of conditions and the following disclaimer in the 14.\" documentation and/or other materials provided with the distribution. 15.\" 3. Neither the name of the University nor the names of its contributors 16.\" may be used to endorse or promote products derived from this software 17.\" without specific prior written permission. 18.\" 19.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND 20.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 21.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 22.\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE 23.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 24.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS 25.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 26.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 27.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY 28.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 29.\" SUCH DAMAGE. 30.\" 31.\" @(#)fold.1 8.1 (Berkeley) 6/6/93 32.\" 33.Dd $Mdocdate: October 24 2016 $ 34.Dt FOLD 1 35.Os 36.Sh NAME 37.Nm fold 38.Nd fold long lines for finite width output device 39.Sh SYNOPSIS 40.Nm fold 41.Op Fl bs 42.Op Fl w Ar width 43.Op Ar 44.Sh DESCRIPTION 45.Nm 46is a filter which folds the contents of the specified files, 47or the standard input if no files are specified, 48breaking the lines to have a maximum of 80 display columns. 49.Pp 50The options are as follows: 51.Bl -tag -width 8n 52.It Fl b 53Count 54.Ar width 55in bytes rather than column positions. 56.It Fl s 57If an output line would be broken after a non-blank character but 58contains at least one blank character, break the line earlier, 59after the last blank character. 60This is useful to avoid line breaks in the middle of words, if 61possible. 62.It Fl w Ar width 63Specifies a line width to use instead of the default of 80. 64.El 65.Pp 66Unless 67.Fl b 68is specified, a backspace character decrements the column position 69by one, a carriage return resets the column position to zero, and 70a tab advances the column position to the next multiple of eight. 71.Sh ENVIRONMENT 72.Bl -tag -width 8n 73.It Ev LC_CTYPE 74The character encoding 75.Xr locale 1 . 76It decides which byte sequences form characters 77and what their display width is. 78If unset or set to 79.Qq C , 80.Qq POSIX , 81or an unsupported value, each byte except backspace, tab, newline, 82and carriage return is treated as a character of display width 1. 83.El 84.Sh EXIT STATUS 85.Ex -std fold 86.Sh SEE ALSO 87.Xr expand 1 , 88.Xr fmt 1 89.Sh STANDARDS 90The 91.Nm 92utility is compliant with the 93.St -p1003.1-2008 94specification. 95.Sh HISTORY 96The 97.Nm 98utility first appeared in 99.Bx 1 . 100It was rewritten for 101.Bx 4.3 Reno 102to improve speed and modernize style. 103The 104.Fl b 105and 106.Fl s 107options were added to 108.Nx 1.0 109for 110.St -p1003.2 111compliance. 112.Sh AUTHORS 113.An -nosplit 114.An Bill Joy 115wrote the original version of 116.Nm 117on June 28, 1977. 118.An Kevin Ruddy 119rewrote the command in 1990, and 120.An J. T. Conklin 121added the missing options in 1993. 122.Sh BUGS 123Traditional 124.Xr roff 7 125output semantics, implemented both by GNU nroff and by 126.Xr mandoc 1 , 127only uses a single backspace for backing up the previous character, 128even for double-width characters. 129The 130.Nm 131backspace semantics required by POSIX mishandles such backspace-encoded 132sequences, breaking lines early. 133The 134.Xr fmt 1 135utility provides similar functionality and does not suffer from that 136problem, but isn't standardized by POSIX. 137