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