Unixコマンド/cut

cut

機能

cutコマンドは、指定したファイルからオプションで指定したフィールドを切り出す。

構文

cut [オプション] [ファイル]

オプション

-b byte-list byte-listで指定した位置のバイトだけ表示する  
-c character-list character-listで指定した位置の文字だけ表示する  
-f field-list field-listで指定したフィールドだけ表示する  
-d delim フィールドの区切りを設定する。初期設定値はタブ  
-s フィールドの区切りのない行を無視する  

コマンド例

▼TEST.txtから第2フィールドを抜き出す

$ cat TEST.txt
046-xxx-xxxx    Kazuhiro Fukuda Man
03-yyyy-yyyy    Yuki Izumi      Women
03-zzzz-zzzz    Toru Tejima     Man
$ cut -f2 TEST.txt
Kazuhiro Fukuda
Yuki Izumi
Toru Tejima

▼TEST.txtから14文字目以降を抜き出す

$ cat TEST.txt
046-xxx-xxxx    Kazuhiro Fukuda Man
03-yyyy-yyyy    Yuki Izumi      Women
03-zzzz-zzzz    Toru Tejima     Man
$ cut -c14- TEST.txt
Kazuhiro Fukuda Man
Yuki Izumi      Women
Toru Tejima     Man

▼dateコマンドで出力した結果をパイプでcutにつなげ9バイトから20バイトの部分を表示

$ date
Fri Nov 18 04:52:02 UTC 2005
$ date | cut -b9-20
18 04:52:19

/var/log/auth.logからIPだけ抜き出す

grep ' Invalid user' /var/log/auth.log|tail -1|cut -f 10 -d ' '