【 column 】コマンド――テキストを複数の列に整形するLinux基本コマンドTips(114)

本連載は、Linuxのコマンドについて、基本書式からオプション、具体的な実行例までを紹介していきます。今回は、テキストを複数の列に整形する「column」コマンドです。

» 2017年06月01日 05時00分 公開
[西村めぐみ@IT]
「Linux基本コマンドTips」のインデックス

Linux基本コマンドTips一覧

 本連載では、Linuxの基本的なコマンドについて、基本的な書式からオプション、具体的な実行例までを分かりやすく紹介していきます。今回は、テキストを複数の列に整形する「column」コマンドです。

columnコマンドとは?

 「column」はテキストを、複数の列(column)に整形するコマンドです。



columnコマンドの書式

column [オプション] ファイル名

※[ ]は省略可能な引数を示しています





columnの主なオプション

短いオプション 意味
-c 幅 表示の全体の幅を指定する
-t 入力行のカラム数を判定して整形する
-s -tオプションを使う際に、入力行をカラムに分ける区切り文字を指定する
-x 行を埋める前に列を埋める(整列の方向を縦方向優先に変える)


テキストを複数の列に整形する

 「column ファイル名」でファイルを読み込んで複数の列に整形します(画面1)。ファイルを指定しない場合、標準入力から受け取った内容を整形します。

コマンド実行例

column ファイル名画面1

(ファイルの内容を複数の列に整形する)

コマンド | column

(コマンドの実行結果を複数の列に整形する)


画面1 画面1 ファイル(/etc/shells)の内容を整列して表示したところ


幅を指定して整形する

 「-c」オプションで、表示の全体の幅を指定できます(画面2)。-cオプションを使わない場合、環境変数COLUMNSの値を用います。80に設定されている場合が多いでしょう。COLUMNSが設定されていない場合は、端末の幅になります。

コマンド実行例

column -c 幅 ファイル名画面2

(表示の全体の幅を指定する)

コマンド | column -c 幅

(コマンド出力を表示全体の幅を指定して整形)


画面2 画面2 lsコマンドの出力を整形して表示したところ


CSVファイルを固定幅に整形する

 もともと複数の列になっているテキストを整形する場合は「-t」オプションを使います。デフォルトの区切り文字は空白です。空白以外の文字を使いたい場合は「-s」オプションで指定します。

 CSVファイル(「,」記号で区切られているテキストファイル)であれば、「-t -s,」と指定すれば整形できます(画面3)。

コマンド実行例

column -t 幅 -s, ファイル名画面3

(区切り文字として「,」を選択して整形表示する)


画面3 画面3 「,」で区切られたCSVファイルの内容を整形表示したところ


筆者紹介

西村 めぐみ(にしむら めぐみ)

PC-9801NからのDOSユーザー。PC-486DX時代にDOS版UNIX-like toolsを経てLinuxへ。1992年より生産管理のパッケージソフトウェアの開発およびサポート業務を担当。著書に『図解でわかるLinux』『らぶらぶLinuxシリーズ』『はじめてでもわかるSQLとデータ設計』『シェルの基本テクニック』など。2011年より、地方自治体の在宅就業支援事業にてPC基礎およびMicrosoft Office関連の教材作成およびeラーニング指導を担当。


Copyright © ITmedia, Inc. All Rights Reserved.

RSSについて

アイティメディアIDについて

メールマガジン登録

@ITのメールマガジンは、 もちろん、すべて無料です。ぜひメールマガジンをご購読ください。