テキストの指定したフィールドを取り出す場合はcutコマンドが便利です。
awkコマンドでも同様のことが簡単にできます。
本資料はcutコマンドを利用して指定したフィールドを取り出す方法を記します。
いくつかのcutコマンド使用例を以下に記します。
使用したテキストファイルは以下のようになります。
sakura@ubuntu:~$ cat fruits.txt name price stock apple 100 10 strawberry 200 20 orange 300 30 banana 400 40
cutコマンドのデリミタはデフォルトはタブになります。
本資料で使うfruits.txtはスペースで桁あわせをしてあり、タブは使用しておりません。
従って、以下のように-dオプションでスペースを区切り文字として指定します。
CSVの場合であれば、カンマを指定すれば良いでしょう。
cut -d ' '
以下の書式で指定したフィールドを取得することができます。
cut -d' ' -fフィールド番号
以下の例は2番めのフィールドが表示されます。
sakura@ubuntu:~$ cut -d' ' -f2 fruits.txt price 100 200 300 400
以下の書式で指定したフィールドを取得することができます。
cut -d' ' -fフィールド番号-
以下の例は2番め以降のフィールドが表示されます。
sakura@ubuntu:~$ cut -d' ' -f2- fruits.txt price stock 100 10 200 20 300 30 400 40
以下の書式で指定したフィールドの範囲を取得することができます。
cut -d' ' -fフィールド番号-フィールド番号
以下の例は2番めから3番目のフィールドが表示されます。
sakura@ubuntu:~$ cut -d' ' -f2-3 fruits.txt price stock 100 10 200 20 300 30 400 40
以下の書式で指定したフィールドの範囲を取得することができます。
cut -d' ' -fフィールド番号,フィールド番号
以下の例は1番めと3番目のフィールドが表示されます。
sakura@ubuntu:~$ cut -d' ' -f1,3 fruits.txt name stock apple 10 strawberry 20 orange 30 banana 40
以上、cutコマンドを使用し指定したフィールドを抽出する方法でした。