Updated: 22 October 2026 · Applies to: util-linux column, any Linux distribution

The column command turns delimited text, or any command's output, into neatly aligned columns.

Format a file's contents

Say you have a pipe-delimited file:

cat authors.txt
pos|author|articles|comments
1|writer1|895|8454
2|writer2|785|6785
3|writer3|458|4529

Pipe it through column, with -t to auto-detect the number of columns and -s to set the delimiter:

cat authors.txt | column -t -s "|"
pos  author   articles  comments
1    writer1  895       8454
2    writer2  785       6785
3    writer3  458       4529

By default, column fills rows first; add -x to fill columns first instead. Empty lines are dropped by default; add -e to keep them.

Format a command's output

mount on its own is hard to read:

mount

Pipe it through column -t to align it:

mount | column -t

Save the formatted output to a file

mount | column -t > mount.out

This writes the aligned output to mount.out instead of the screen.

column is useful anywhere you have delimited or whitespace-separated data that is hard to read as a single run-on line: log files with fixed fields, /etc/passwd-style colon-separated data, or the output of another command you have piped into it, as shown above with mount. It is part of the util-linux package, which ships by default on almost every Linux distribution, so you rarely need to install anything extra to use it.

Related services

KVM VPS hosting

NVMe SSD and full root access, with Free Basic Managed Support.

Unmanaged dedicated servers

full root access and free IPMI KVM, with Free Basic Managed Support.

Managed dedicated servers

our engineers look after the server for you, from $135 a month.

Was this answer helpful?

Still stuck? Open a ticket