fold (Unix)

From Wikipedia, the free encyclopedia
fold
Original author(s)Bill Joy
Initial release1977; 47 years ago (1977)
Operating systemUnix and Unix-like
PlatformCross-platform
TypeCommand
Licensecoreutils: GNU GPL v3

fold is a Unix command used for making a file with long lines more readable on a limited width computer terminal by performing a line wrap.

Most Unix terminals have a default screen width of 80, and therefore reading files with long lines could get annoying. The fold command puts a line feed every X characters if it does not reach a new line before that point. If the -w argument is set, the fold command allows the user to set the maximum length of a line.

History[edit]

The utility first appeared in 1BSD of 1977 and was originally written by Bill Joy.[1][2]

fold is part of the X/Open Portability Guide since issue 4 of 1992. It was inherited into the first version of POSIX.1 and the Single Unix Specification.[3]

The version of fold bundled in GNU coreutils was written by David MacKenzie.[4]

The command is available as a separate package for Microsoft Windows as part of the UnxUtils collection of native Win32 ports of common GNU Unix-like utilities.[5]

Example[edit]

As a usage example, to fold a file named file.txt to have a maximum of 50 characters per line, one could run the following command:

fold -w 50 file.txt
  • file.txt:
Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Curabitur dignissim
venenatis pede. Quisque dui dui, ultricies ut, facilisis non, pulvinar non,
purus. Duis quis arcu a purus volutpat iaculis. Morbi id dui in diam ornare
dictum. Praesent consectetuer vehicula ipsum. Praesent tortor massa, congue et,
ornare in, posuere eget, pede.

Vivamus rhoncus. Quisque lacus. In hac habitasse platea dictumst. Nullam mauris
tellus, sollicitudin non, semper eget, sodales non, pede. Phasellus varius
ullamcorper libero. Fusce ipsum lorem, iaculis nec, vulputate vitae, suscipit
vel, tortor. Cras varius.

Nullam fringilla pellentesque orci. Nulla eu ante pulvinar velit rhoncus
lacinia. Morbi fringilla lacus quis arcu. Vestibulum sem quam, dapibus in,
fringilla ut, venenatis ut, neque.
  • output:
Lorem ipsum dolor sit amet, consectetuer adipiscin
g elit. Curabitur dignissim
venenatis pede. Quisque dui dui, ultricies ut, fac
ilisis non, pulvinar non,
purus. Duis quis arcu a purus volutpat iaculis. Mo
rbi id dui in diam ornare
dictum. Praesent consectetuer vehicula ipsum. Prae
sent tortor massa, congue et,
ornare in, posuere eget, pede.

Vivamus rhoncus. Quisque lacus. In hac habitasse p
latea dictumst. Nullam mauris
tellus, sollicitudin non, semper eget, sodales non
, pede. Phasellus varius
ullamcorper libero. Fusce ipsum lorem, iaculis nec
, vulputate vitae, suscipit
vel, tortor. Cras varius.

Nullam fringilla pellentesque orci. Nulla eu ante 
pulvinar velit rhoncus
lacinia. Morbi fringilla lacus quis arcu. Vestibul
um sem quam, dapibus in,
fringilla ut, venenatis ut, neque.

See also[edit]

References[edit]

  1. ^ fold(1) – FreeBSD General Commands Manual
  2. ^ "fold.c – 1BSD". minnie.tuhs.org.
  3. ^ printf – Shell and Utilities Reference, The Single UNIX Specification, Version 4 from The Open Group
  4. ^ "fold(1) - Linux man page". linux.die.net.
  5. ^ "Native Win32 ports of some GNU utilities". unxutils.sourceforge.net.

External links[edit]