cut === 文字列を切り出す ---------------- {{TOC 3-}} ### SYNOPSIS cut [OPTION]... [FILE]... ### オプション一覧 | ------------ | ----------- | | b | バイト数で切り出す位置を指定します | | c | 文字数で切り出す位置を指定します(ロケール指定が必要) | | f | フィールド単位で切り出す位置を指定します。フィールドのデリミタは -d オプションで指定します | | d | フィールドのデリミタ | | s | デリミタを含まない行を出力しない | [cutコマンドのオプション] ### `-b` バイト指定で抜き出す $ echo "123456789" | cut -b3 3 $ echo "123456789" | cut -b3- 3456789 $ echo "123456789" | cut -b3-5 345 $ echo "123456789" | cut -b-3 345 変な指定するとどうなるか。 $ echo "123456789" | cut -b0 cut: missing list of positions Try `cut --help' for more information. $ echo "123456789" | cut -b15- $ echo "123456789" | cut -b-15 123456789 ### `-c` 文字数指定で抜き出す `-b` 同様です。正しく動けばマルチバイトが文字数単位で抜き出せます。 ### `-f` フィールド単位で抜き出す デフォルトのデリミタは TAB $ echo -e "12\t34\t56\t78\t9" | cut -f2 34 $ echo -e "12\t34\t56\t78\t9" | cut -f-2 12 34 $ echo -e "12\t34\t56\t78\t9" | cut -f2- 34 56 78 9 $ echo -e "12\t34\t56\t78\t9" | cut -f2-4 34 56 78 #### `-d` フィールドのデリミタを指定する $ echo "12 34 56 78 9" | cut -d" " -f2-4 34 56 78 ##### `-s` デリミタを含まない行を出力しない デリミタを含まない行を出力しないようにするには、`-s` オプションを付与する。