COLUMN

Section: User Commands (1)
Updated: February 2019
Index Return to Main Contents
 

名前

column - 入力を複数列に整形する  

書式

column [options] [file...]  

説明

column ユーティリティは、入力を複数カラムに分けて整形する。 このユーティリティは 3 つのモードをサポートする。
行より先に列を埋める。 これがデフォルトのモードである (後方互換のため必要である)。
列より先に行を埋める。 このモードはオプション -x, --fillrows で有効にされる。
テーブル 入力が含まれる列数を決めて、テーブルを作成する。 このモードはオプション -t, --table で有効にされ、 列のフォーマットは --table-* オプションで修正できる。 使い方が良く分からない場合、このモードを使うこと。

入力は file から取得される。 file が指定されない場合、標準入力から取得される。 空行は無視され、無効なマルチバイトシーケンスは、\x<hex> 形式にエンコードされる。

 

オプション

--table-* オプションの引き数 columns は カンマ区切りで、--table-columns で定義される列名リスト、 または入力で指定された列番号のリストである。 列名と列番号を混ぜて使うこともできる。

-J, --json
テーブルの表示に、JSON 出力フォーマットを使う。 オプション --table-columns が必要で、 オプション --table-name が推奨される。
-c, --output-width width
指定した文字数の幅で出力をフォーマットする。 このオプションの元の名前は、--columns であった。 この名前は v2.30 から廃止された。 width より長い入力はデフォルトでは切り詰められる点に注意すること。
-d, --table-noheadings
ヘッダを表示しない。 このオプションは、コマンドラインでは論理的な列名を使い、 テーブルの表示時にはヘッダを隠すことができる。
-o, --output-separator string
テーブル出力の列の区切り文字を指定する (デフォルトはスペース 2 個である)。
-s, --separator separators
入力アイテムの区切り文字を指定する (デフォルトは空白である)。
-t, --table
入力が含まれる列数を決めて、テーブルを作成する。 デフォルトでは列は空白で区切られる。 --output-separator オプションを使って、 指定した文字で区切ることもできる。 テーブル出力は綺麗に表示するのに便利である。
-N, --table-columns names
列名をカンマ区切りの名前のリストで指定する。 この名前はテーブルヘッダに使われたり、オプション引き数の列を 示すために使われる。
-R, --table-right columns
指定した列を右詰めテキストにする。
-T, --table-truncate columns
指定した列について、必要な場合は切り詰めを許可する。 指定しない場合、とても長いテーブルのエントリは、 複数行に表示される。
-E, --table-noextreme columns
列幅を計算する際に、通常ではなく長い (平均より長い) セルとして、 無視可能な列を指定する。 このオプションは、幅の計算とテーブルの整形に影響するが、 表示されるテキストには影響しない。

このオプションは、デフォルトでは、最後の (訳注: 一番右の) 表示列に使われる。

-e, --table-header-repeat
各ページにヘッダ行を表示する。
-W, --table-wrap columns
長いテキストの表示に必要な場合に、複数行のセルを使ってもよい列を 指定する。
-H, --table-hide columns
指定した列を表示しない。 名前のない列をすべて隠す場合、特別な代用文字 '-' を使うことができる。
-O, --table-order columns
出力される列の順番を指定する。
-n, --table-name name
JSON 出力で使われるテーブル名を指定する。 デフォルトは "table" である。
-L, --table-empty-lines
入力の空行について、テーブルに空行を挿入する。 デフォルトでは空行を無視する。
-r, --tree column
ツリー状の出力に使う列を指定する。 親子関係における循環依存やその他の例外は、暗黙のうちに無視される。
-i, --tree-id column
親子関係を生成するために、行 ID が含まれる列を指定する。
-p, --tree-parent column
親子関係を生成するために、親 ID が含まれる列を指定する。

-x, --fillrows
列を埋める前に行を埋める。
-V, --version
バージョン情報を表示して、終了する。
-h, --help
ヘルプを表示して、終了する。
 

環境変数

他に情報が得られない場合、画面の幅を決定するために環境変数 COLUMNS が使われる。  

fstab をヘッダ行付けて、数値を右詰めで表示する。 sed 's/#.*//' /etc/fstab | column --table --table-columns SOURCE,TARGET,TYPE,OPTIONS,PASS,FREQ --table-right PASS,FREQ

名前なしの列は隠して、fstab を表示する。 sed 's/#.*//' /etc/fstab | column --table --table-columns SOURCE,TARGET,TYPE --table-hide -

ツリーを表示する。 echo -e '1 0 A\n2 1 AA\n3 1 AB\n4 2 AAA\n5 2 AAB' | column --tree-id 1 --tree-parent 2 --tree 3 1 0 A 2 1 |-AA 4 2 | |-AAA 5 2 | `-AAB 3 1 `-AB  

バグ

バージョン 2.23 で -s オプションの動作を、欲張りでなくした (non-greedy) (訳注: 値が指定されない場合に、後続の値を利用しないようにした)。 例:

printf "a:b:c\n1::3\n" | column -t -s ':'

昔の出力: a b c 1 3

新しい出力 (util-linux 2.23 以降): a b c 1 3

このツールの歴史的なバージョンでは、デフォルトでは 「列より先に行を埋める」ことになっており、 -x オプションで動作を逆にすることになっている。 しかし、この言葉は実際の動作を反映していなかったので、 修正を行った (上記を参照)。 他の column 実装は古いドキュメントを使い続けているかもしれないが、 動作はどの場合でも同じである。  

関連項目

colrm(1), ls(1), paste(1), sort(1)  

履歴

column コマンドは 4.3BSD-Reno から登場した。  

入手方法

column コマンドは、util-linux パッケージの一部であり、 https://www.kernel.org/pub/linux/utils/util-linux/ から入手できる。


 

Index

名前
書式
説明
オプション
環境変数
バグ
関連項目
履歴
入手方法

This document was created by man2html, using the manual pages.
Time: 12:49:37 GMT, August 02, 2019