「分かりそう」で「分からない」でも「分かった」気になれるLinuxコマンド辞典イメージぴよ画像「分かりそう」で「分からない」でも「分かった」気になれるLinuxコマンド辞典

column

スポンサーリンク

何するコマンド?

テキストデータを表形式に整形するときに使うコマンド



書き方

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



オプション

オプション説明
-c【数字】表の幅を【数字】文字にする。1つの項目ではなくて表全体の幅なので注意
-s【文字】「-t」オプションを使うときの区切り文字を指定する
-t区切り文字を基準にカラムを判定して表を作る
-x行と列を入れ替える。未指定時は「1列目表示→埋まったら2列目」と縦に表示していくが「-x」指定時は「1行目表示→埋まったら2行目」と横に表示していく

補足事項

基本的な使い方は単純です。
例えば、中身が

1
2
3
4
5


テキストファイル「hoge.txt」があったとして、

column -c 20 hoge.txt

を実行すると、結果は

1       4
2       5
3


に なります。
縦に3行分出力された後、横にズレて2列目に残りが出力されていますね。

「-t」オプションがちょっと分かりにくいのですが、テキストデータのカラム構成を自動判定して表形式にしてくれるオプションです。
例えば、中身が

a b c
d e f
g h i
j k l
m n o


のテキストデータ「hoge2.txt」があったとして

column -c 20 hoge2.txt

を実行すると、結果は

a b c   j k l
d e f   m n o
g h i


に なります。
これは「a b c」「d e f」「g h i」「j k l」「m n o」をそれぞれ1つのまとまりと判断しているからです。

「a b c」   「j k l」
「d e f」   「m n o」
「g h i」


と解釈されています。

一方「-t」オプションをつけて

column -c 20 -t hoge2.txt

を実行すると、結果は

a  b  c
d  e  f
g  h  i
j  k  l
m  n  o


に なります。
これは、それぞれの行に対して

1行目:「a」「b」「c」のデータがある
2行目:「d」「e」「f」のデータがある
3行目:「g」「h」「i」のデータがある
4行目:「j」「k」「l」のデータがある
5行目:「m」「n」「o」のデータがある


と自動的に判断してくれているからです。
こちらは

「「a」  「b」  「c」」
「「d」  「e」  「f」」
「「g」  「h」  「i」」
「「j」  「k」  「l」」
「「m」  「n」  「o」」


と解釈されています。

テキストデータを見たまま表にしたいときは「-t」を指定すれば良いのだと思います。

そんな感じ(--)ノ

スポンサーリンク


書籍画像