Different Ways to Use Column Command in Linux

If you're a Linux user, you're probably familiar with the command-line interface. It's a powerful tool for working with files, directories, and other aspects of your system. However, if you're working with large amounts of text data, it can be challenging to make sense of everything. That's where the column command comes in. This command allows you to format text into columns, specify delimiters, align columns, wrap text, and even sort columns of data. In this article, we'll explore the different ways to use the column command in Linux and how it can help you work more efficiently with text files.

What is the Column Command?

The column command is a Linux utility that helps you format text into columns. By default, it will separate columns by any whitespace characters (such as spaces or tabs), but you can also specify a delimiter of your choice. This command can be especially useful when working with text files that have a lot of data, as it can make that data much easier to read and manipulate.

Basic Usage

The basic usage of the column command is straightforward. To use it, simply pipe the output of another command into column. Here's an example

$ ls -l | column -t
total 32
drwxr-xr-x  2  user  user  4096  May  6  14:45  Desktop
drwxr-xr-x  2  user  user  4096  May  6  14:45  Documents
drwxr-xr-x  2  user  user  4096  May  6  14:45  Downloads
drwxr-xr-x  2  user  user  4096  May  6  14:45  Music
drwxr-xr-x  2  user  user  4096  May  6  14:45  Pictures
drwxr-xr-x  2  user  user  4096  May  6  14:45  Public
drwxr-xr-x  2  user  user  4096  May  6  14:45  Templates
drwxr-xr-x  2  user  user  4096  May  6  14:45  Videos

In this example, we're using the ls -l command to list the contents of a directory in long format. We're then piping that output into the column command and using the -t flag to format the output into columns. As you can see, the resulting output is much easier to read than the original output of ls -l.

Specifying the Delimiter

The column command uses any whitespace character as the default delimiter between columns. However, you can specify a delimiter of your choice using the -s flag. Here's an example

$ cat example.txt
John,Smith,35
Jane,Doe,27
Bob,Johnson,42
$ cat example.txt | column -s ',' -t
John  Smith    35
Jane  Doe      27
Bob   Johnson  42

In this example, we're using the cat command to output the contents of a file called example.txt. We're then piping that output into the column command and using the -s flag to specify that the delimiter between columns should be a comma (,). The resulting output is formatted into columns using the -t flag.

Aligning Columns with Output Separator

By default, the column command left-aligns columns. You can use the -o flag to specify an output separator between columns. Here's an example

$ cat example.txt | column -s ',' -t -o ' | '
John | Smith | 35
Jane | Doe | 27
Bob | Johnson | 42

In this example, we're using the -o flag to specify that each column should be separated by a pipe (|) character. The resulting output is much easier to read and compare values across different rows.

Working with JSON Data

The column command is particularly useful for formatting structured data like JSON output

$ echo -e "name:age:city\nAlice:25:NYC\nBob:30:LA\nCharlie:35:Chicago" | column -t -s ':'
name     age  city
Alice    25   NYC
Bob      30   LA
Charlie  35   Chicago

Formatting Multiple Files

You can also use column to format multiple files simultaneously

$ column -t file1.txt file2.txt

This command will read both files and format their contents into properly aligned columns.

Creating Tables from CSV Data

The column command excels at converting CSV data into readable tables

$ echo -e "Product,Price,Stock\nLaptop,999.99,15\nMouse,25.50,100\nKeyboard,75.00,50" | column -t -s ','
Product   Price   Stock
Laptop    999.99  15
Mouse     25.50   100
Keyboard  75.00   50

Common Options Summary

Option Description Example
-t Create a table with aligned columns column -t file.txt
-s Specify field separator column -s ',' -t
-o Specify output separator column -o ' | ' -t
-c Specify output width column -c 80

Conclusion

The column command is a powerful tool for working with text files in Linux. It helps you format text into columns, specify delimiters, align data, and create readable tables from structured data. By mastering these different usage patterns, you can significantly improve your productivity when working with CSV files, log data, and other structured text formats.

Updated on: 2026-03-17T09:01:38+05:30

2K+ Views

Kickstart Your Career

Get certified by completing the course

Get Started
Advertisements