.\" Copyright (c) 1989, 1990, 1993 .\" The Regents of the University of California. All rights reserved. .\" .\" Redistribution and use in source and binary forms, with or without .\" modification, are permitted provided that the following conditions .\" are met: .\" 1. Redistributions of source code must retain the above copyright .\" notice, this list of conditions and the following disclaimer. .\" 2. Redistributions in binary form must reproduce the above copyright .\" notice, this list of conditions and the following disclaimer in the .\" documentation and/or other materials provided with the distribution. .\" 3. All advertising materials mentioning features or use of this software .\" must display the following acknowledgement: .\" This product includes software developed by the University of .\" California, Berkeley and its contributors. .\" 4. Neither the name of the University nor the names of its contributors .\" may be used to endorse or promote products derived from this software .\" without specific prior written permission. .\" .\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND .\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE .\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE .\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE .\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL .\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS .\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) .\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT .\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" .\" @(#)column.1 8.1 (Berkeley) 6/6/93 .\" .\"******************************************************************* .\" .\" This file was generated with po4a. Translate the source file. .\" .\"******************************************************************* .\" .\" The original version of this translation was contributed .\" to Linux JM project from FreeBSD jpman Project. .\" It contained these lines: .\" %FreeBSD: src/usr.bin/column/column.1,v 1.5.2.4 2001/08/16 13:16:46 ru Exp % .\" $FreeBSD: doc/ja_JP.eucJP/man/man1/column.1,v 1.9 2001/08/19 10:25:03 horikawa Exp $ .\" .\" The copyright for the modified parts of the translation blongs to us .\" with Linux JM project. .\" .\" Japanese Version Copyright for the modified parts (c) 2020 Yuichi SATO .\" and Yoichi Chonan, all right reserved. .\" Updated & Modified (util-linux 2.34) Tue Mar 3 20:31:14 JST 2020 .\" by Yuichi SATO .\" and Yoichi Chonan .\" .TH COLUMN 1 "February 2019" util\-linux "User Commands" .SH 名前 column \- 入力を複数列に整形する .SH 書式 \fBcolumn\fP [options] [\fIfile\fP...] .SH 読者へのご注意 これは、util-linux 版の \fBcolumn\fP コマンドのマニュアルである。\fBcolumn\fP コマンドの実装には、いくつかの系統がある。御使用のディストリビューションが util-linux 版以外の \fBcolumn\fP コマンドを採用している場合は、 動作やオプションがここで説明しているものとかなり違っているかもしれない。 そういうときは、英語版しかないかもしれないが、お手元の \fBcolumn\fP コマンドに付属するマニュアルに当たってみていただきたい。 .SH 説明 \fBcolumn\fP ユーティリティは入力を複数列形式に整形する。このユーティリティは 3 つのモードをサポートしている。 .TP \fB行 (row) より先に列 (column) を埋める\fP これがデフォルトのモードである (後方互換のためそうなっている)。 .TP \fB列より先に行を埋める\fP このモードはオプション \fB\-x, \-\-fillrows\fP で有効になる。 .TP \fB表形式\fP 入力に含まれる列の数を判断して、表を作成する。このモードはオプション \fB\-t, \-\-table\fP で有効になる。列のフォーマットは \fB\-\-table\-*\fP オプションで調整できる。どのモードを使うか迷っているなら、このモードを使うとよい。 .PP 入力は \fIfile\fP から読み込む。\fIfile\fP が指定されていなければ、標準入力から読み込む。 空行は無視し、無効なマルチバイトシーケンスはすべて \ex 方式でエンコードする。 .PP .SH オプション \fB\-\-table\-*\fP オプションに対する引き数 \fIcolumns\fP は、 列の名前または列の番号を、コンマで区切ったリストである。列の名前は、\fB\-\-table\-columns\fP オプションで指定したものであり、列の番号は、入力における列の順番だ。 列の名前と番号を混ぜて使うこともできる。 .PP .IP "\fB\-J, \-\-json\fP" 表の出力に JSON フォーマットを使用する。\fB\-\-table\-columns\fP オプションが必須である。\fB\-\-table\-name\fP オプションも指定した方がよい。 .IP "\fB\-c, \-\-output\-width\fP \fIwidth\fP" 文字 (character) 数で指定された幅に出力を整形する。 このオプションの元の名前は \-\-columns だったが、その名前はバージョン 2.30 以来、非推奨になっている。デフォルトでは、\fIwidth\fP より長い入力があっても、短縮されないことに注意していただきたい (訳注: 表を \fIwidth\fP の幅にきちんと収めるには、\fB\-t\fP とともに \fB\-T\fP か \fB\-W\fP を指定する必要がある)。 .IP "\fB\-d, \-\-table\-noheadings\fP" ヘッダを表示しない。このオプションを使用すれば、 コマンドラインでは列の名前に便宜的な名前を使っておいて、 表を表示する際にはヘッダを見せないようにすることができる。 .IP "\fB\-o, \-\-output\-separator\fP \fIstring\fP" 表出力における列間の区切りを指定する (デフォルトはスペース 2 個)。 .IP "\fB\-s, \-\-separator\fP \fIseparators\fP" 表形式を選択したときに、入力項目の区切りに使える文字 (複数可) を指定する (デフォルトはホワイトスペース)。 .RS .IP "[\fB訳注\fP]" デフォルトでは、ホワイトスペース (スペースやタブ) の連続は 1 つのデリミタとして解釈される。それに対し、\fB\-s\fP オプションで入力のデリミタに空白とタブを指定したときは、空白やタブ 1 個 1 個が独立したデリミタとして扱われる。別の例を挙げるなら、 \fB\-s\fP "\fI$%\fP" と指定すると、\fI$%\fP という連続がデリミタになるのではなく、\fI$\fP と \fI%\fP の両方が、それぞれデリミタとして扱われる。 .RE .IP "\fB\-t, \-\-table\fP" 入力に含まれる列の数を判断して、表を作成する。デフォルトでは、 列はスペースで区切られるが、\fB\-\-output\-separator\fP オプションを使って指定した文字で区切ることもできる。 表形式の出力は、表示を見栄えのよいものにするのに便利である。 .IP "\fB\-N, \-\-table\-columns\fP \fInames\fP" 列の名前を、コンマで区切った名前のリストで指定する。 そうした名前は、表のヘッダに使われたり、オプション引き数中で特定の列を指定するのに使われたりする。 .IP "\fB\-R, \-\-table\-right\fP \fIcolumns\fP" 指定した列でテキストを右詰めにする。 .IP "\fB\-T, \-\-table\-truncate\fP \fIcolumns\fP" 必要ならテキストを短縮してもよい列を指定する。 このオプションを指定しないと、表の中の非常に長い項目は、何行かに渡って表示されるかもしれない。 .IP "\fB\-E, \-\-table\-noextreme\fP \fIcolumns\fP" 列の幅を計算する際、並外れて長い (平均より長い) セルがあった場合に、そうしたセルを無視できる列を指定する。 このオプションは、列の幅の計算や表の整形には影響するが、表示されるテキストには影響を与えない。 このオプションを指定しないデフォルトでは、このオプションの動作は、表示される最後の (訳注: すなわち、一番右の) 列に適用される。 .IP "\fB\-e, \-\-table\-header\-repeat\fP" ページごとにヘッダ行を表示する。 .IP "\fB\-W, \-\-table\-wrap\fP \fIcolumns\fP" 長いテキストの表示に必要な場合に、複数行のセルを使うことのできる列を指定する。 .IP "\fB\-H, \-\-table\-hide\fP \fIcolumns\fP" 指定した列を表示しない。名前の付いていない列をすべて隠すには、列の名前や番号の代わりに \&'\-' という特別な引き数を使えばよい (\-\-table\-columns を参照)。 .IP "\fB\-O, \-\-table\-order\fP \fIcolumns\fP" 出力における列の順番を指定する。 .IP "\fB\-n, \-\-table\-name\fP \fIname\fP" JSON 出力に使う表の名前を指定する。デフォルトは "table" である。 .IP "\fB\-L, \-\-table\-empty\-lines\fP" 入力中に空行があるたびに、表にも空行を挿入する。デフォルトでは、 空行はすべて無視することになっている。 .IP "\fB\-r, \-\-tree\fP \fIcolumn\fP" 出力をツリー状にする列を指定する。 なお、親子関係における循環などの変則的な指定は、警告を出さずに無視される。 .IP "\fB\-i, \-\-tree\-id\fP \fIcolumn\fP" 親子関係を生成するための「行 ID」が存在する列を指定する。 .IP "\fB\-p, \-\-tree\-parent\fP \fIcolumn\fP" 親子関係を生成するための「親 ID」が存在する列を指定する。 .PP .IP "\fB\-x, \-\-fillrows\fP" 列を埋める前に行を埋める。 .IP "\fB\-V\fP, \fB\-\-version\fP" バージョン情報を表示して、終了する。 .IP "\fB\-h, \-\-help\fP" ヘルプを表示して、終了する。 .SH 環境変数 他に情報が得られない場合は、画面の幅を決定するために環境変数 \fBCOLUMNS\fP が使われる。 .SH 用例 fstab をヘッダ行を付けて表示し、数値は右詰めにする: .nf \fBsed 's/#.*//' /etc/fstab | column \-\-table \-\-table\-columns SOURCE,TARGET,TYPE,OPTIONS,PASS,FREQ \-\-table\-right PASS,FREQ\fP .fi .PP 名前の付いていない列は隠して、fstab を表示する: .nf \fBsed 's/#.*//' /etc/fstab | column \-\-table \-\-table\-columns SOURCE,TARGET,TYPE \-\-table\-hide \-\fP .fi .PP .PP ツリー表示の例: .nf \fBecho \-e '1 0 A\en2 1 AA\en3 1 AB\en4 2 AAA\en5 2 AAB' | column \-\-tree\-id 1 \-\-tree\-parent 2 \-\-tree 3\fP 1 0 A 2 1 |\-AA 4 2 | |\-AAA 5 2 | `\-AAB 3 1 `\-AB .fi .SH バグ バージョン 2.23 で \fB\-s\fP オプションの動作を欲張りでなくした (訳注: 値が指定されていない場合に、後続の値を利用しないようにした)。例を示そう。 .PP .nf \fBprintf "a:b:c\en1::3\en" | column \-t \-s ':'\fP .fi .PP 従来の出力: .nf a b c 1 3 .fi .PP 新しい出力 (util\-linux 2.23 以降): .nf a b c 1 3 .fi .PP このツールの従来のバージョンでは、「デフォルトでは、列よりも先に行を埋める。 \fB\-x\fP オプションはこの動作を反対にする」と述べていた。 しかし、この説明は、実際の動作を正しく反映していなかったので、その後訂正されている (「\fB説明\fP」セクションをご覧いただきたい)。\fBcolumn\fP の他の実装では、以前の説明を今でも使っているかもしれないが、 いずれにせよ、動作はどれも同じはずである。 .SH 関連項目 \fBcolrm\fP(1), \fBls\fP(1), \fBpaste\fP(1), \fBsort\fP(1) .SH 履歴 column コマンドは 4.3BSD\-Reno で登場した。 .SH 入手方法 この column コマンドは、util\-linux パッケージの一部であり、 https://www.kernel.org/pub/linux/utils/util\-linux/ から入手できる。