Skip to main content

The `fold` Command in Linux

The fold command in Linux is used to wrap the input text to fit a specified width.

This is particularly useful when dealing with long lines of text that extend beyond the viewable area of a terminal or when formatting text to be sent to devices with a fixed width, like printers.

Syntax​

The basic syntax of the fold command is as follows:

fold [OPTIONS]... [FILE]...

When no FILE, or when FILE is -, the command reads standard input.

Options​

Below is a table summarizing the most common options available with fold:

OptionShorthandDescription
--width-wWrap lines at WIDTH columns (default is 80).
--bytes-bCount bytes rather than columns (ignores line spacing).
--spaces-sBreak at spaces (wraps lines at word boundaries).

Creating a Sample Text File with vim​

To create a sample file to work with the fold command, we can use vim. Open the terminal and type:

vim longtext.txt

Press i to enter insert mode and copy or type the following long line of text:

This is a very long line of text that is meant to be an example to demonstrate how the fold command works in a Linux environment. By using fold, we can adjust the width of the text so that it wraps and fits nicely into a specified width.

To save and exit vim, press Esc, type :wq, and hit Enter.

Examples of Using fold​

Example 1: Basic Wrapping​

To wrap the text at the default width (80 columns):

fold longtext.txt

This will output the text with each line wrapped at 80 columns.

Example 2: Custom Width​

To wrap lines to a width of 40 columns:

fold -w 40 longtext.txt

This changes the wrap width to 40 columns.

Example 3: Wrap at Word Boundaries​

To avoid breaking words, use the -s option:

fold -s -w 40 longtext.txt

This wraps lines at the last space before the 40-column width.

Example 4: Counting Bytes Instead of Columns​

If you're dealing with a file where you need to count bytes rather than columns (maybe because of multibyte characters), use:

fold -b -w 40 longtext.txt

This will count bytes, ensuring that multibyte characters are not split.

Combining fold with Other Commands​

fold can be used in combination with other Unix commands through piping. For example, to view the wrapped content with less:

fold -w 40 longtext.txt | less

Or to save the wrapped version to a new file:

fold -w 40 longtext.txt > wrappedtext.txt

The fold command is an essential text processing tool in Unix-like operating systems for ensuring that output fits within a certain width. It's especially handy for formatting text on the command line, scripting, and preparing data for display on devices with strict width constraints.

What Can You Do Next 🙏😊​

If you liked the article, consider subscribing to Cloudaffle, my YouTube Channel, where I keep posting in-depth tutorials and all edutainment stuff for software developers.

YouTube @cloudaffle