様々なファイル形式の扱い
このステップでは、column
コマンドを様々なファイル形式と区切り文字で使用する方法を探ります。これにより、column
ユーティリティの汎用性と、さまざまな種類のデータにどのように適用できるかを理解する手助けになります。
CSV ファイルの扱い
CSV (Comma-Separated Values、カンマ区切り値) ファイルは、表形式のデータを保存するための一般的な形式です。もっと複雑な CSV ファイルを作成し、column
コマンドを使ってフォーマットしてみましょう。
まず、新しい CSV ファイルを作成します。
cd ~/project
echo -e "Name,Age,Occupation,City\nAlex,28,Engineer,Boston\nSamantha,35,Teacher,Chicago\nMohamed,42,Doctor,New York\nLin,31,Artist,San Francisco" > employees.csv
このファイルの内容を確認しましょう。
cat employees.csv
以下のように表示されるはずです。
Name,Age,Occupation,City
Alex,28,Engineer,Boston
Samantha,35,Teacher,Chicago
Mohamed,42,Doctor,New York
Lin,31,Artist,San Francisco
では、column
コマンドを使ってこの CSV ファイルをフォーマットしましょう。
column -t -s ',' employees.csv
出力は以下のようになるはずです。
Name Age Occupation City
Alex 28 Engineer Boston
Samantha 35 Teacher Chicago
Mohamed 42 Doctor New York
Lin 31 Artist San Francisco
column
コマンドがデータを整列した列にきれいに配置し、読みやすくなったことに注目してください。
TSV ファイルの扱い
TSV (Tab-Separated Values、タブ区切り値) は、表形式のデータのもう一つの一般的な形式です。TSV ファイルを作成し、column
コマンドを使ってフォーマットしてみましょう。
TSV ファイルを作成します。
echo -e "Product\tPrice\tCategory\nLaptop\t999.99\tElectronics\nBook\t12.50\tMedia\nChair\t149.50\tFurniture" > products.tsv
内容を見てみましょう。
cat products.tsv
以下のように表示されるはずです。
Product Price Category
Laptop 999.99 Electronics
Book 12.50 Media
Chair 149.50 Furniture
では、column
コマンドを使ってフォーマットします。column
コマンドのデフォルトの区切り文字はタブなので、区切り文字を指定する必要はありません。
column -t products.tsv
出力は以下のようになるはずです。
Product Price Category
Laptop 999.99 Electronics
Book 12.50 Media
Chair 149.50 Furniture
自作スクリプトを異なるファイルで使用する
では、これらの異なるファイルで columnize.sh
スクリプトを使用してみましょう。
CSV ファイルの場合:
~/project/columnize.sh employees.csv ,
TSV ファイルの場合:
~/project/columnize.sh products.tsv $'\t'
注意: 2つ目のコマンドでは、$'\t'
を使ってタブ文字を表しています。これは bash で特殊文字(タブなど)を含めるための特殊な構文です。
両方のコマンドはきれいにフォーマットされた出力を生成するはずで、異なるファイル形式と区切り文字に対するスクリプトの柔軟性を示しています。
このステップでは、column
コマンドと自作のスクリプトがさまざまな種類の表形式データをフォーマットするためにどのように使用できるかを示しました。これにより、データが読みやすくなり、分析も容易になります。