Linux Tips

テキストを表形式に整形するには

北浦訓行
2004/2/5

 テキストを表形式に整形するには、columnコマンドを使う。例えば、以下のような内容のテキストファイル(foo.txt)がある。

tmp01.png
tmp02.png
tmp03.png
(省略)
tmp18.png

 columnコマンドを使うと、以下のように整形される。

$ column foo.txt
tmp01.png      tmp05.png      tmp09.png      tmp13.png      tmp17.png
tmp02.png      tmp06.png      tmp10.png      tmp14.png      tmp18.png
tmp03.png      tmp07.png      tmp11.png      tmp15.png
tmp04.png      tmp08.png      tmp12.png      tmp16.png

 -xオプションで表示の方向(並び順)を横(左→右)に変えることができる。

$ column -x foo.txt
tmp01.png      tmp02.png      tmp03.png      tmp04.png      tmp05.png
tmp06.png      tmp07.png      tmp08.png      tmp09.png      tmp10.png
tmp11.png      tmp12.png      tmp13.png      tmp14.png      tmp15.png
tmp16.png      tmp17.png      tmp18.png
表示の方向を横(左→右)にする

 区切り文字を変更することも可能だ。

$ cat bar.txt
tmp01.png,tmp02.png
tmp03.png tmp04.png, tmp05.png
tmp06.png,tmp07.png,tmp08.png
tmp09.png       tmp10.png
$ column -s ", " -t bar.txt
tmp01.png  tmp02.png
tmp03.png  tmp04.png  tmp05.png
tmp06.png  tmp07.png  tmp08.png
tmp09.png  tmp10.png
区切り文字を「,」および「 」(スペース)にする

 columnコマンドで指定可能なオプションは以下のとおりだ。

オプション
意味
-c 文字数 表示の幅を指定した文字数にする
-s "区切り文字" -tオプションを使うときの区切り文字(複数指定可)を指定
-t 入力行のカラム数を判定して表を作る。カラムの区切りは、-sで指定された文字。指定がない場合は空白文字になる
-x 並び順を横(左→右)に変える。デフォルトは縦(上→下)

Linux Tips Index



 Linux Squareフォーラム Linux Tipsカテゴリ別インデックス
インストール/RPM ブート/ブートローダ
ファイル操作 環境設定
ユーザー管理 コンソール/ターミナル
X Window System セキュリティ
トラブルシューティング 他OS関係
ネットワーク ハードウェア
Webサーバ Samba
GNOME KDE
OpenOffice.org エミュレータ
ソフトウェア そのほか/FAQ
全Tips公開順インデックス Linux Tips月間ランキング
Linux Squareフォーラム全記事インデックス

MONOist組み込み開発フォーラムの中から、Linux関連記事を紹介します


Linux & OSS フォーラム 新着記事
@ITメールマガジン 新着情報やスタッフのコラムがメールで届きます(無料)

注目のテーマ

Linux & OSS 記事ランキング

本日 月間