cut とは、標準入力の各行から一部分を切り出して、標準出力へ出力するLinux/Unixコマンドである。
cut -b list [file ...]
cut -c list [file ...]
cut -f list [-d separator] [file ...]
以下に示すオプションを cut コマンドに指定できる。
各行の先頭から5バイト目までを切り出す例を示す。
$ cut -b -5 file.txt
各行の5バイト目から行末までを切り出す例を示す。
$ cut -b 5- file.txt
各行の2文字を切り出す例を示す。
$ cat foo.txt
ABCDE
あいうえお
$ cut -c 2 foo.txt
C
う
各行の3文字目から6文字目までを切り出す例を示す。
$ cut -c 3-6 file.txt
各行の1文字目、3文字目及び5文字目を切り出す例を示す。
$ cut -c 1,3,5 file.txt
/etc/passwdファイルのフィールド区切り文字に「:
」を指定して、最初のフィールドを切り出す例を示す。
$ cut -f 1 -d : /etc/passwd
入力行を空白で区切ってフィールドを切り出すには、-d オプションで区切り文字に空白を指定する。
空白はシングルクォーテーションまたはダブルクオーテーションで囲む。
$ cut -f 1 -d ' '
$ cut -f 1 -d " "
cutコマンドで最後のフィールドを切り出すには、文字単位で行を反転する rev コマンドと組み合わせる。
rev コマンドを使って行ごとに文字を反転したものを、rev コマンドで最初のフィールドを切り出して、再び rev コマンドで反転する。
$ cat example.tsv | rev | cut -f 1 | rev
標準入力
引数を指定することにより、ファイルから入力することもできる。
標準出力