テキストを列に整形する
これで column
コマンドの基本を理解したので、テキストを列に整形するための使い方をもっと詳しく見ていきましょう。
列の区切り文字を指定する
デフォルトでは、column
コマンドは空白(スペースとタブ)を列を区切る区切り文字として使用します。ただし、-t
オプションを使って別の区切り文字を指定することができます。
$ echo "Name,Age,Gender" | column -t -s,
Name Age Gender
この例では、-s,
オプションが column
にコンマ(,
)を列の区切り文字として使用するよう指示しています。
列の幅を調整する
column
コマンドは、各列の幅をその列の最長のエントリに合わせて自動的に調整します。ただし、-o
オプションを使って列の幅を手動で制御することができます。
$ echo "Name Age Gender" | column -t -o 10
Name Age Gender
この例では、-o 10
オプションが各列の幅を10文字に設定しています。
複数行のエントリを扱う
column
コマンドは複数行のエントリも扱うことができます。エントリが複数行にまたがる場合、コマンドはそのエントリが1つの列に表示されるようにします。
$ cat <<EOF | column -t
Name Age Gender
John Doe 25 Male
Jane Doe 30 Female
EOF
Name Age Gender
John Doe 25 Male
Jane Doe 30 Female
この例では、入力データに複数行のエントリが含まれており、column
コマンドはその整形を維持しています。
列の揃えを設定する
デフォルトでは、column
コマンドは列を左揃えにします。ただし、-c
オプションを使って揃えを変更することができます。
$ echo "Name Age Gender" | column -t -c right
Name Age Gender
この例では、-c right
オプションが列を右揃えにしています。