「columnコマンドでどんな整形ができるのか知りたい」
column コマンドを使うと、ファイルの内容や標準入力のテキストを整形して表形式で表示できます。箇条書きになっているデータを、ターミナルの幅に合わせて自動的に複数列に並べ替えてくれます。
この記事では、columnコマンドの基本的な使い方と実務でよく使うオプションを解説します。
・columnコマンドでファイルを表形式に整形する基本手順
・-tオプションでTSV/CSV形式のファイルを見やすく整形する方法
・区切り文字を指定する-sオプションの使い方
・パイプと組み合わせてコマンドの出力を整形する方法
でも安心してください。プロのエンジニアはコマンドを暗記していません。
「現場で使える型」を効率よく使いこなしているだけです。
columnコマンドとは
column コマンドは、1列のテキストを複数列に整形して表示するコマンドです。ほとんどのLinuxディストリビューションに標準で含まれています(
util-linux パッケージの一部)。基本的な使い方
1. 箇条書きテキストを表形式に整形する
1行に1データが入ったファイルを、ターミナルの幅に合わせて複数列に並べます。# ファイルの内容を確認(1列の箇条書き) $ head -5 country_list.txt Japan Afghanistan Algeria Andorra Angola # column コマンドで整形して表示 $ column country_list.txt Japan Afghanistan Algeria Andorra Angola Antigua and Barbuda Argentina Armenia Australia Austria Azerbaijan Bahamas
2. 標準入力から整形する(パイプ利用)
# コマンドの出力をcolumnに渡して整形 $ ls /usr/bin | column [ ar basename bash bunzip2 bzcat bzip2 bzip2recover cal cat chgrp chmod chown chsh clear cmp column comm
応用・実務Tips
1. -tオプションでTSVを見やすく整形する(表形式)
-t(table)オプションを使うと、タブ区切りのデータを列幅を揃えて表示できます。# タブ区切りのデータ $ cat server_list.txt hostname ip_address cpu memory web01 192.168.1.10 4 8GB db01 192.168.1.20 8 32GB cache01 192.168.1.30 2 4GB # -t で列を揃えて整形 $ column -t server_list.txt hostname ip_address cpu memory web01 192.168.1.10 4 8GB db01 192.168.1.20 8 32GB cache01 192.168.1.30 2 4GB
2. -sオプションで区切り文字を指定する(CSVの整形)
コンマ区切り(CSV)など、任意の区切り文字を指定するには-s オプションを使います。# コンマ区切りのCSVを整形して表示 $ cat data.csv name,age,city Alice,30,Tokyo Bob,25,Osaka Charlie,35,Nagoya $ column -t -s "," data.csv name age city Alice 30 Tokyo Bob 25 Osaka Charlie 35 Nagoya
3. dfコマンドの出力を整形する
# df -h の出力をcolumnで整形 $ df -h | column -t Filesystem Size Used Avail Use% Mounted on devtmpfs 3.8G 0 3.8G 0% /dev tmpfs 3.9G 0 3.9G 0% /dev/shm /dev/nvme0n1p1 50G 12G 38G 25% / /dev/sdb1 20G 100M 19G 1% /data
トラブルシュート
列がずれて表示される場合
データに全角文字が含まれる場合、バイト数と表示幅が異なるため、column -t で列がずれることがあります。日本語を含むデータの整形には
awk や printf を使った手動整形が確実です。「column: command not found」が出る場合
# RHEL/CentOS系 # dnf install -y util-linux # Ubuntu系 # apt install -y bsdmainutils
本記事のまとめ
| やりたいこと | コマンド |
|---|---|
| ファイルを複数列に整形 | column ファイル名 |
| タブ区切りを表形式に整形 | column -t ファイル名 |
| コンマ区切りを整形 | column -t -s "," ファイル名 |
| コマンドの出力を整形 | df -h | column -t |
| lsの出力を整形 | ls /usr/bin | column |
Linuxのテキスト処理コマンドを体系的に学びませんか?
columnのような整形コマンドも、awk・sed・grepと組み合わせることで、テキスト処理の幅が一気に広がります。
ネットの切れ端の情報をコピペするだけでなく、現場で通用する安全なLinuxサーバー構築の「型」を体系的に身につけたい方へ、『Linuxサーバー構築入門マニュアル(図解60P)』を完全無料でプレゼントしています。
「独学の時間がもったいない」「プロから直接、現場の技術を最短で学びたい」という本気の方には、2日で実務レベルのスキルが身につく【初心者向けハンズオンセミナー】も開催しています。
3,100名以上が実践した「型」を無料で公開中
プロのエンジニアはコマンドを暗記していません。
「現場で使える型」を効率よく使いこなしているだけです。
その「型」を図解60Pにまとめた入門マニュアルを、完全無料でプレゼントしています。
登録10秒/合わなければ解除3秒 / 詳細はこちら
- 次のページへ:cat -nとnlコマンドでファイルに行番号を付けて表示する方法|番号のカスタマイズも
- 前のページへ:Linuxでディレクトリ内のファイル数をカウントする方法|ls・find・wcと再帰・隠しファイル対応
- この記事の属するカテゴリ:Linuxtips・ディレクトリ・ファイル操作へ戻る

無料メルマガで学習を続ける
Linuxの実践スキルをメールで毎週お届け。
登録は1分、解除もいつでも可。
登録無料・いつでも解除できます