$ cut[オプション」 ファイル |
cut コマンドは、テキストファイルから指定した位置の文字、またはフィールドを切り出し、その結果を標準出力に書き出すコマンドです。
最初に、cut コマンドの代表的なオプションを示します。
表 6-10. cut コマンドのオプション
| -c CHARACTER-LIST | CHARACTER-LIST で指定した位置の文字だけを表示します。タブも1文字として扱われます。 |
| -f FIELD-LIST | FIELD-LIST で指定したフィールドだけを表示します。フィールドの区切り文字は、-d オプションで指定します。 |
| -d DELIM | DELIM で指定した文字をフィールドの区切り文字として使用します。デフォルトはタブです。 |
ここでは、以下の ls コマンドの出力結果をもとに、cut コマンドの使用例を示します。
$ ls -al 合計 76 drwx------ 5 taro taro 4096 2月 17日 15:49 ./ drwxr-xr-x 4 root root 4096 2月 17日 15:49 ../ -rw-r--r-- 1 taro taro 3824 2月 17日 15:49 .Xdefaults -rw-r--r-- 1 taro taro 24 2月 17日 15:49 .bash_logout -rw-r--r-- 1 taro taro 247 2月 17日 15:49 .bash_profile -rw-r--r-- 1 taro taro 1363 2月 17日 15:49 .bashrc (省略) |
-c オプションを指定して、10文字目までを表示します。
$ ls -al | cut -c -10 合計 76 drwx------ drwxr-xr-x -rw-r--r-- -rw-r--r-- -rw-r--r-- -rw-r--r-- (省略) |
58文字目以降を表示します。
$ ls -al | cut -c 58- ./ ../ .Xdefaults .bash_logout .bash_profile .bashrc (省略) |
2文字目から10文字目までと57文字目以降を表示します。
$ ls -al | cut -c 2-10,57- 計 76 rwx------ ./ rwxr-xr-x ../ rw-r--r-- .Xdefaults rw-r--r-- .bash_logout rw-r--r-- .bash_profile rw-r--r-- .bashrc (省略) |
また、区切り文字を指定して、フィールド単位で取り出すことも可能です。以下の add.csv ファイルをもとに cut コマンドの使用例を示します。
$ cat add.csv "山田 太郎","000-0000","東京都港区","緑0-0-0","緑ハウス101","03-0000-0000" "鈴木 一郎","000-0000","東京都杉並区","青1-1-1","","03-1111-1111" "田中 花子","000-0000","千葉県千葉市","海2-2","","04-2222-2222" |
区切り文字にカンマを指定して、最初のフィールドを表示します。
$ cut -d , -f 1 add.cvs "山田 太郎" "鈴木 一郎" "田中 花子" |
区切り文字にカンマを指定して、1番目と 6番目のフィールドを表示します。
$ cut -d , -f 1,6 add.cvs "山田 太郎","03-0000-0000" "鈴木 一郎","03-1111-1111" "田中 花子","04-2222-2222" |