cutコマンドを利用して指定したフィールドと指定したフィールド範囲を抜き出す方法を記します。
cutコマンドのデフォルトの区切り文字はタブとなっています。
区切り文字を変更するには、-dオプションを利用します。
スペースを区切り文字にした例とカンマを区切り文字した例を以下に記します。
使用したテストデータは以下の3つです。
$ cat data.tsv centos redhat fedora scientific debian ubuntu knoppix mint suse vine arch puppy
$ cat data.txt centos redhat fedora scientific debian ubuntu knoppix mint suse vine arch puppy
$ cat data.csv centos,redhat,fedora,scientific debian,ubuntu,knoppix,mint suse,vine,arch,puppy
指定したフィールドを取り出す例を以下に記します。
2フィールド目を取り出します。
$ cut -f 2 data.tsv redhat ubuntu vine
以下のように記述しても同様の動作となります。
$ cat data.tsv | cut -f 2 redhat ubuntu vine
3フィールド目を取り出します。
$ cut -d ' ' -f 3 data.txt fedora knoppix arch
以下のように記述しても同様の動作となります。
$ cat data.txt | cut -d ' ' -f 3 fedora knoppix arch
4フィールド目を取り出します
$ cut -d , -f 4 data.csv scientific mint puppy
以下のように記述しても同様の動作となります。
$ cat data.csv | cut -d , -f 4 scientific mint puppy
指定したフィールド範囲を取り出す例を以下に記します。
2番めから3番めのフィールドを取り出します。
$ cut -f 2-3 data.tsv redhat fedora ubuntu knoppix vine arch
以下のように記述しても同様の動作となります。
$ cat data.tsv | cut -f 2-3 redhat fedora ubuntu knoppix vine arch
$ cut -f 2-3 -d ' ' data.txt redhat fedora ubuntu knoppix vine arch
以下のように記述しても同様の動作となります。 $ cat data.txt | cut -f 2-3 -d ' ' redhat fedora ubuntu knoppix vine arch
$ cut -f 2-3 -d , data.csv redhat,fedora ubuntu,knoppix vine,arch
以下のように記述しても同様の動作となります。
$ cat data.csv | cut -f 2-3 -d , redhat,fedora ubuntu,knoppix vine,arch
以上のように-f 開始フィールド-終了フィールドを指定すると指定した範囲を取り出すことができます。
終了フィールドを省略すると指定した開始フィールドから最後までが表示されます。
以下の例は、3フィールド目から最後まで表示しています。
$ cat data.tsv centos redhat fedora scientific debian ubuntu knoppix mint suse vine arch puppy $ cut -f 3- data.tsv fedora scientific knoppix mint arch puppy
開始フィールドを省略すると先頭から指定した終了フィールドまで表示されます。 以下の例は3フィールド目まで表示しています。
$ cat data.tsv centos redhat fedora scientific debian ubuntu knoppix mint suse vine arch puppy $ cut -f -3 data.tsv centos redhat fedora debian ubuntu knoppix suse vine arch