#navi(../)
* 指定したフィールドを取り出す・cut [#r4d69620]
テキストの指定したフィールドを取り出す場合はcutコマンドが便利です。~
awkコマンドでも同様のことが簡単にできます。
本資料はcutコマンドを利用して指定したフィールドを取り出す方法を記します。

#contents
#htmlinsertpcsp(linux_ads_top.html,linux-sp.html)

* 関連記事 [#e6e1c501]
-[[特定のカラムを削除し表示する・awkコマンド>逆引きシェルスクリプト/特定のカラムを削除し表示する・awkコマンド]]
-[[awkコマンドの区切り文字をカンマに変更>逆引きシェルスクリプト/awkコマンドの区切り文字をカンマに変更]]
-[[awkの出力をカンマ区切りにする方法>逆引きシェルスクリプト/awkの出力をカンマ区切りにする方法]]

* cutコマンドの使用例 [#v35f2828]
いくつかのcutコマンド使用例を以下に記します。~
使用したテキストファイルは以下のようになります。
#ref(fruits.txt)
 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 ' '

** 指定したフィールドの取得 [#d6c1d41d]
以下の書式で指定したフィールドを取得することができます。
 cut -d' ' -fフィールド番号
以下の例は2番めのフィールドが表示されます。
 sakura@ubuntu:~$ cut -d' ' -f2 fruits.txt
 price
 100
 200
 300
 400

** 指定したフィールドの以降の表示 [#o1425f61]
以下の書式で指定したフィールドを取得することができます。
 cut -d' ' -fフィールド番号-
以下の例は2番め以降のフィールドが表示されます。
 sakura@ubuntu:~$ cut -d' ' -f2- fruits.txt
 price stock
 100 10
 200 20
 300 30
 400 40

** 指定したフィールド範囲 [#ncd02774]
以下の書式で指定したフィールドの範囲を取得することができます。
 cut -d' ' -fフィールド番号-フィールド番号
以下の例は2番めから3番目のフィールドが表示されます。
 sakura@ubuntu:~$ cut -d' ' -f2-3 fruits.txt
 price stock
 100 10
 200 20
 300 30
 400 40

** 指定した複数フィールド [#h37f235f]
以下の書式で指定したフィールドの範囲を取得することができます。
 cut -d' ' -fフィールド番号,フィールド番号
以下の例は1番めと3番目のフィールドが表示されます。
 sakura@ubuntu:~$ cut -d' ' -f1,3 fruits.txt
 name stock
 apple 10
 strawberry 20
 orange 30
 banana 40

以上、cutコマンドを使用し指定したフィールドを抽出する方法でした。

#htmlinsertpcsp(linux_ads_btm.html,linux-sp.html)

トップ   編集 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS