👤
Home Man
Search
Today's Posts
Register

Linux & Unix Commands - Search Man Pages
Man Page or Keyword Search:
Select Section of Man Page:
Select Man Page Repository:

Linux 2.6 - man page for fold (linux section 1posix)

FOLD(P) 			    POSIX Programmer's Manual				  FOLD(P)

NAME
       fold - filter for folding lines

SYNOPSIS
       fold [-bs][-w width][file...]

DESCRIPTION
       The  fold  utility  is  a  filter that shall fold lines from its input files, breaking the
       lines to have a maximum of width column positions (or bytes, if the -b  option  is  speci-
       fied).  Lines  shall  be broken by the insertion of a <newline> such that each output line
       (referred to later in this section as a segment) is the maximum width possible  that  does
       not exceed the specified number of column positions (or bytes). A line shall not be broken
       in the middle of a character.  The behavior is undefined if width is less than the  number
       of columns any single character in the input would occupy.

       If  the	<carriage-return>s, <backspace>s, or <tab>s are encountered in the input, and the
       -b option is not specified, they shall be treated specially:

       <backspace>
	      The current count of line width shall be decremented by  one,  although  the  count
	      never  shall become negative. The fold utility shall not insert a <newline> immedi-
	      ately before or after any <backspace>.

       <carriage-return>

	      The current count of line width shall be set to zero. The fold  utility  shall  not
	      insert a <newline> immediately before or after any <carriage-return>.

       <tab>  Each  <tab>  encountered	shall advance the column position pointer to the next tab
	      stop. Tab stops shall be at each column position n such that n modulo 8 equals 1.

OPTIONS
       The fold utility shall conform to the Base  Definitions	volume	of  IEEE Std 1003.1-2001,
       Section 12.2, Utility Syntax Guidelines.

       The following options shall be supported:

       -b     Count width in bytes rather than column positions.

       -s     If  a  segment of a line contains a <blank> within the first width column positions
	      (or bytes), break the line after the last  such  <blank>	meeting  the  width  con-
	      straints. If there is no <blank> meeting the requirements, the -s option shall have
	      no effect for that output segment of the input line.

       -w  width
	      Specify the maximum line length, in column positions (or bytes if -b is specified).
	      The  results are unspecified if width is not a positive decimal number. The default
	      value shall be 80.

OPERANDS
       The following operand shall be supported:

       file   A pathname of a text file to be folded. If no  file  operands  are  specified,  the
	      standard input shall be used.

STDIN
       The  standard  input  shall  be used only if no file operands are specified. See the INPUT
       FILES section.

INPUT FILES
       If the -b option is specified, the input files shall be text files except that  the  lines
       are  not  limited  to  {LINE_MAX}  bytes in length. If the -b option is not specified, the
       input files shall be text files.

ENVIRONMENT VARIABLES
       The following environment variables shall affect the execution of fold:

       LANG   Provide a default value for the internationalization variables that  are	unset  or
	      null. (See the Base Definitions volume of IEEE Std 1003.1-2001, Section 8.2, Inter-
	      nationalization Variables for the precedence of internationalization variables used
	      to determine the values of locale categories.)

       LC_ALL If  set  to a non-empty string value, override the values of all the other interna-
	      tionalization variables.

       LC_CTYPE
	      Determine the locale for the interpretation of sequences of bytes of text  data  as
	      characters  (for	example, single-byte as opposed to multi-byte characters in argu-
	      ments and input files), and for the determination of the width in column	positions
	      each character would occupy on a constant-width font output device.

       LC_MESSAGES
	      Determine the locale that should be used to affect the format and contents of diag-
	      nostic messages written to standard error.

       NLSPATH
	      Determine the location of message catalogs for the processing of LC_MESSAGES .

ASYNCHRONOUS EVENTS
       Default.

STDOUT
       The standard output shall be a file containing a sequence of characters whose order  shall
       be preserved from the input files, possibly with inserted <newline>s.

STDERR
       The standard error shall be used only for diagnostic messages.

OUTPUT FILES
       None.

EXTENDED DESCRIPTION
       None.

EXIT STATUS
       The following exit values shall be returned:

	0     All input files were processed successfully.

       >0     An error occurred.

CONSEQUENCES OF ERRORS
       Default.

       The following sections are informative.

APPLICATION USAGE
       The  cut  and  fold utilities can be used to create text files out of files with arbitrary
       line lengths. The cut utility should be used when the number of lines (or  records)  needs
       to  remain  constant. The fold utility should be used when the contents of long lines need
       to be kept contiguous.

       The fold utility is frequently used to send text files to printers that	truncate,  rather
       than  fold,  lines wider than the printer is able to print (usually 80 or 132 column posi-
       tions).

EXAMPLES
       An example invocation that submits a file of possibly long lines to the printer (under the
       assumption that the user knows the line width of the printer to be assigned by lp):

	      fold -w 132 bigfile | lp

RATIONALE
       Although  terminal  input  in canonical processing mode requires the erase character (fre-
       quently set to <backspace>) to erase the previous character (not byte or column position),
       terminal  output  is  not buffered and is extremely difficult, if not impossible, to parse
       correctly; the interpretation depends entirely on the physical device that  actually  dis-
       plays/prints/stores the output. In all known internationalized implementations, the utili-
       ties producing output for mixed column-width output assume that a <backspace> backs up one
       column  position  and  outputs enough <backspace>s to return to the start of the character
       when <backspace> is used to provide local line motions to support underlining and  embold-
       ening operations. Since fold without the -b option is dealing with these same constraints,
       <backspace> is always treated as backing up one column position rather than backing up one
       character.

       Historical  versions of the fold utility assumed 1 byte was one character and occupied one
       column position when written out. This is no longer always true.  Since	the  most  common
       usage  of  fold	is  believed to be folding long lines for output to limited-length output
       devices, this capability was preserved as the default case. The -b  option  was	added  so
       that  applications could fold files with arbitrary length lines into text files that could
       then be processed by the standard utilities. Note that  although  the  width  for  the  -b
       option  is  in bytes, a line is never split in the middle of a character.  (It is unspeci-
       fied what happens if a width is specified that is too small to  hold  a	single	character
       found in the input followed by a <newline>.)

       The  tab stops are hardcoded to be every eighth column to meet historical practice. No new
       method of specifying other tab stops was invented.

FUTURE DIRECTIONS
       None.

SEE ALSO
       cut

COPYRIGHT
       Portions of this text are reprinted and	reproduced  in	electronic  form  from	IEEE  Std
       1003.1,	2003  Edition,	Standard  for Information Technology -- Portable Operating System
       Interface (POSIX), The Open Group Base Specifications Issue 6, Copyright (C) 2001-2003  by
       the  Institute  of  Electrical  and  Electronics Engineers, Inc and The Open Group. In the
       event of any discrepancy between this version and the original IEEE  and  The  Open  Group
       Standard, the original IEEE and The Open Group Standard is the referee document. The orig-
       inal Standard can be obtained online at http://www.opengroup.org/unix/online.html .

IEEE/The Open Group			       2003					  FOLD(P)


All times are GMT -4. The time now is 01:41 PM.

Unix & Linux Forums Content Copyrightę1993-2018. All Rights Reserved.
×
UNIX.COM Login
Username:
Password:  
Show Password





Not a Forum Member?
Forgot Password?