目次
対象読者
● Linuxコマンド初学者
要点
● cutコマンド = csv, tsvファイルなどから必要なデータを抜き出す事が出来るコマンド
○ cut {検索するテキスト} {オプション}
のように利用する
● -d
オプションや-f
オプションを付与する事でどのようにファイルを抜き出すかを指定する事が出来る
cutコマンドとは?
cutコマンドは、指定のデータを抜き出す事が出来るコマンドです。
利用ケースとして、csvファイルやtsvファイルから必要な列のデータを抜き出す際に利用するケースなどがあります。
cutコマンドは基本的にオプションを指定して利用します。
今回紹介するオプションは-d
オプションと-f
オプションです。
-d
オプション-f
とオプションは併用される事が多く、-d
オプションで区切る文字を指定し、-f
オプションで抜き出すデータを指定します。
cutコマンドを理解するためにはcsvファイルやtsvファイルがどのようなものかを理解する必要があります。以降でcsvファイル・tsvファイルについて理解した後、cutコマンドをどのように利用するか見ていきましょう。
csvファイル・tsvファイルとは?
csvファイル
csvとは”comma separated values”の略であり、和訳すると”カンマ(,)で区切られた値”となります。
csvファイルを開くと以下のようにExcelが起動し、表形式で表示されます。(Excelをインストールしていない場合挙動が異なります。)
しかし、csvファイルに対してcatコマンドで中身を出力してみるとデータの実態が分かります。
このようにcsvファイルはカンマで値を区切ったファイルとなります。
tsvファイル
tsvとは”tab separated values”の略であり、和訳すると”タブで区切られた値”となります。
タブとはTabキーを押した際に出現するスペースの事です。
tsvファイルは以下のような形式となります。
※ファイルの形式に関する詳細はファイル形式まとめを参照下さい。
cutコマンドを使ってみる
cutコマンドを利用する前に-dオプション、-fオプションについて理解しましょう。
-dオプションとは?
-dオプションは区切り文字を指定します。指定の方法はcut -d "{区切り文字}"
のようになります。csvの場合カンマで区切られているので、区切り文字の指定は-d ","
の様な形式です。
-fオプションとは?
-fオプションは-dと併せて利用されます。こちらは抽出する列を指定します。
1, yamada, taro, 25
上記のようなデータが存在し区切り文字を”,”と指定した場合、1列目の値は1, 2列目はyamadaの様になります。
以上を踏まえて実際に手を動かして確認しましょう。
まずはターミナル(Windowsの場合git bashなど)を開いてください。
事前準備
今回のcutコマンドの動作確認ではcsvファイルを使用していきます。
viコマンドを利用してcut_test.csv
を作成します。ファイルには以下をぺーストしましょう。
1,yamada,taro,25
2,tanaka,hanako,30
3,sato,ziro,35
4,suzuki,momoko,40
5,inoue,saburo,45
catコマンドで以下のように表示されれば準備完了です。
挙動確認
作成したcsvファイルには①番号②苗字③名前④年齢のデータが5行分含まれております。
このデータの内、苗字のみを抽出したいとしましょう。その際にcutコマンドが利用できます。
cut -d "," -f 2 cut_test.csv
を実行してみましょう。
【次の記事】
|(パイプ)とは?