CUT(1)

名称
cut - ファイルの各行の、指定した部分を取り出す

書式
cut -b list [-n] [file ...] cut -c list [file ...] cut -f list [-d delim] [-s] [file ...]

解説
cut は、 file から行を読み込み、 list の指定に従って選択した部分を取り出して標準出力に出力します。 file 引数が指定されない場合もしくはこれが単一のダッシュ (‘-’) の場合、 cut は標準入力から読み込みます。 list には、カラム番号、もしくはフィールド番号を指定します。 フィールドは特定の文字で区切られた領域です。 カラム番号およびフィールド番号は 1 から始まります。

list オプション引数には、コンマもしくは空白で区切られた 複数の増加方向の番号もしくは番号範囲を指定することができます。 番号範囲は、1 番目の番号、ダッシュ (‘-’) 、2 番目の番号の 3 つの組から構成され、 1 番目の番号から 2 番目の番号までの複数のフィールドもしくは複数のカラムを 選択します。 範囲には 1 番目の番号および 2 番目の番号も含まれます。 番号もしくは番号範囲の前にダッシュをつけた場合には、 1 番目の番号までのすべてのフィールドもしくはカラムも選択します。 番号もしくは番号範囲の後にダッシュをつけた場合には、 最後の番号以降のすべてのフィールドもしくはカラムも選択します。 番号もしくは番号範囲は、 繰り返しても、重なっても、いかなる順番であっても構いません。 また、入力行に指定のフィールドやカラムがない場合、 エラーとはなりません。

オプションとしては以下のものがあります:

-b list
    バイト単位で指定します。

-c list
    文字単位で指定します。

-d delim
    フィールドを区切る文字として delim を使用します。 デフォルトではタブが使用されます。

-f list
    フィールド区切り文字で区切られたフィールド単位に指定します ( -d オプションを参照)。 出力フィールドは、フィールド区切り文字 1 つによって区切られます。

-n  マルチバイト文字を分割しません。 マルチバイト文字は、その文字を構成するバイト列のうち 1 バイト以上が選択されている、その選択された 1 バイトの前に その文字を構成する選択されていないバイト列が 0 バイト以上ある、 その選択された 1 バイトの後ろがすべて選択されている、という条件が 満たされた場合にのみ、出力されます。

-s  区切り文字のない行を出力しないようにします。 このオプションが指定されてない場合、区切り文字がない行はそのまま出力されます。

環境変数
environ(7) に記述されているように、 LANG, LC_ALL, LC_CTYPE 環境変数は cut の実行に影響を及ぼします。

使用例
ユーザのログイン名とシェルを、システムの passwd(5) ファイルから “name:shell” という組で取り出します:

    cut -d : -f 1,7 /etc/passwd

現在ログインしているユーザに対し、名前とログイン時刻を表示します:

    who | cut -c 1-16,26-38

診断

関連項目
colrm(1), paste(1)

規格
cut ユーティリティは p1003.2 準拠です。

歴史
cut コマンドは AT&T System III UNIX に登場しました。