Linux column コマンド

Linux 命令大全Linux コマンド大全


columnLinux システムの実用的なコマンドラインツールで、入力テキストを複数列表示にフォーマットします。元の乱雑なテキストデータを整然としたテーブル形式に再構成し、可読性を大幅に向上させます。

代表的な使用シーン:

  • コマンド出力のフォーマット(例:ls、psなど)
  • CSV や TSV データの整理
  • 簡単なターミナル表の作成
  • ログファイル内容の整列

基本構文

column [选项] [文件名]

ファイル名を指定しない場合、column標準入力からデータを読み取ります。


よく使うオプション引数

オプション 説明
-t 入力の区切り文字を自動認識してテーブルを作成します
-s sep カスタム列区切り文字を指定します(デフォルトは空白文字)
-c width 出力の全体幅を設定します(文字数)
-x 行を先に埋めてから列を埋めます(デフォルトは列優先)
-o sep 出力列の区切り文字を指定します(デフォルトはスペース2つ)
-N names 各列に名前を指定します(カンマ区切り)
-n 複数の連続する区切り文字を結合しません

使用例

基本的なテーブル整形

実例

$ echo -e "Name Age GendernAlice 25 FnBob 30 MnCharlie 22 M" | column -t
Name     Age  Gender
Alice    25   F
Bob      30   M
Charlie  22   M

CSV データの処理

実例

$ echo -e "ID,Name,Departmentn101,Alice,Salesn102,Bob,IT" | column -s, -t
ID   Name   Department
101  Alice  Sales
102  Bob    IT

出力区切り文字のカスタマイズ

実例

$ echo -e "1 2 3n4 5 6" | column -t -o " | "
1 | 2 | 3
4 | 5 | 6

他のコマンドとの組み合わせ

実例

$ ls -l | head -5 | column -t
total 48
drwxr-xr-x  2  user  user  4096  Jan  10  09:30  Desktop
drwxr-xr-x  2  user  user  4096  Jan  10  09:30  Documents
drwxr-xr-x  2  user  user  4096  Jan  10  09:30  Downloads

上級用法

不規則なデータの処理

実例

$ echo -e "Item:Price:StocknApple:1.2:50nOrange:0.8:30" | column -s: -t
Item    Price  Stock
Apple   1.2    50
Orange  0.8    30

列名の指定

実例

$ echo -e "Alice 25nBob 30" | column -N "Name,Age" -t
Name   Age
Alice  25
Bob    30

出力幅の制御

実例

$ echo -e "1 2 3 4 5n6 7 8 9 10" | column -c 30 -t
1  3  5  7  9
2  4  6  8  10

注意事項

  1. 区切り文字の処理:デフォルトでは、column複数の連続する空白文字を1つの区切り文字と見なし、-nオプションでこの動作を無効にできます
  2. 特殊文字:データにスペースやタブなどの区切り文字が含まれる場合は、区切り文字を明示的に指定することをお勧めします
  3. パフォーマンスの考慮:大きなファイルを処理する場合、column多くのメモリを必要とする可能性があります
  4. 配置(アライメント):すべての列はデフォルトで左揃えで、現在は配置方法を直接指定することはできません

代替案の比較

ツール 長所 短所
column シンプルで使いやすく、Linux 標準搭載 機能は基本的
awk 柔軟性が高く、機能が強力 構文が複雑
pr ページングと列制御をサポート オプションが複雑
paste ファイルの列の結合に適しています フォーマット機能は限定的

実践演習

  1. あなたの/etc/passwdファイルの最初の5行をテーブル形式で表示します(ヒント::を区切り文字として使用)
  2. 試しにcolumnコマンドでプロセスリストを整理しましょう(ps auxの出力)
  3. 3列のデータを含むテキストファイルを作成し、異なる区切り文字で実験してください-sオプションの効果

実例

# 練習1の解答例
head -5 /etc/passwd | column -s: -t

を習得することで、columnコマンドを使用すると、乱雑なテキストデータを読みやすいテーブル形式に簡単に変換でき、これは日常のシステム管理やデータ処理で非常に実用的です。


Linux 命令大全Linux コマンド大全

その他の拡張機能