cutコマンド
システム管理者 Unixパワーユーザのためのコマンドリファレンス

[ Linux / Unix リファレンスガイド ] ⇒ [ コマンドリファレンス ] ⇒ [ cutコマンド ]



cut

簡単に文字列を加工することができ、ちょっとした抜き出しなどではawk以上に簡単さと使いやすさが魅力。

オプション
b 指定バイト(文字数)で区切る
d 指定文字で区切る
f 指定フィールドを表示する
fs 指定フィールドを表示し、区切り文字のない行を表示しない

使用例
◆固定長データ(バイト長)で列を指定して出力

$ cat data
123456789

$ cat data | cut -b 1-4
1234

$ cat data | cut -b 1,3,5
135

$ cat data | cut -b 9
9

$ cat data | cut -b6-
6789

$ cat data | cut -b-3
123


上記のように自由な位置を区切って抽出することが可能。ログの調査や固定長データの処理などで重宝する。


◆CSVファイルの抽出

$ cat data
001,user01,yamada,401,a001,Type-A
002,user02,tanaka,011,b001,Type-T
003,user03,kaneko,201,a001,Type-G
004,user04,suzuki,042,b001,Type-T
005,user05,yamashuta,201,b001,Type-A

$ cat data | cut -d , -f2,4-5
user01,401,a001
user02,011,b001
user03,201,a001
user04,042,b001
user05,201,b001

$ cat data | cut -d , -f3,2
user01,yamada
user02,tanaka
user03,kaneko
user04,suzuki
user05,yamashuta

上記のようにCSVファイルから並び替え、抽出を用意に行うことが可能。