Unix command > cutによる文字列の抽出

更新日 2012-01-22
広告
cutコマンドで文字列を抽出する方法を紹介します。
次の例は、"This is a pen"という文字列から、"pen"を抽出します。
cut$ echo "This is a pen" | cut -d' ' -f4 
pen
"This is a pen"という文字列を cut コマンドに渡しています。 cutコマンドでは、「文字列をスペースで区切って」、「4番目を取得する」というオプションを指定しています。 -dが、区切り文字で、-fが、抽出する番号を指定するオプションです。
cutコマンドは、ファイルに対して実行することもできます。 例えば、CSV形式のデータを持つtest.datファイルがあるとします。
cut$ cat test.dat # test.datの内容を表示
111,222,333,444
111,222,333,444
これにcutをかけてみます。今度はカンマを区切り文字として指定します。
cut$ cut -d',' -f2 test.dat
222
222
複数の列を抽出することもできます。
cut$ cut -d',' -f2,3 test.dat 
222,333
222,333
一行ごとに抽出処理が行われるので、注意してください。
バイト数を指定して、文字列を抽出することもできます。 バイト数を指定する場合は、-bオプションを利用します。 先ほどの test.dat に対して、5バイト目から12バイト目まで抽出するように指定してみます。
cut$ cut -b 5-12 test.dat  # 5byteから12byte
222,333,
222,333,
この場合も、一行ごとに抽出処理が行われるので、注意してください。
広告
お問い合わせは sweng.tips@gmail.com まで。
inserted by FC2 system