JP1/Advanced Shell
形式
cut -b リスト[-n][パス名 ...] cut -c リスト[パス名 ...] cut -f リスト[-s][-d デリミタ][パス名 ...]
機能
各行の選択範囲を標準出力に表示します。それぞれのファイルまたはデフォルトの標準入力から,各行のリストに指定された部分を選択して標準出力に出力します。
引数
-bオプション,-cオプション,-fオプションのどれも指定しない場合は,usageを出力して終了します。
- -b
- 動作を指定するオプションです。バイト位置で範囲指定します。リストには1から始まるバイト位置を指定します。複数回指定でき,指定した部分をすべてつなげて出力します。
- -c
- 動作を指定するオプションです。文字位置で範囲指定します。リストには1から始まる文字位置を指定します。複数回指定でき,指定した部分をすべてつなげて出力します。
- -f
- 動作を指定するオプションです。フィールド位置で範囲指定します。リストには区切文字で区切られた1から始まるフィールド位置を指定します。複数回指定でき,指定した部分およびデリミタをすべてつなげて出力します。
- 選択されたフィールドは区切文字で区切って表示します。区切り文字が存在しない行は,行全体を出力します。ただし,-sオプションを指定すると区切り文字が存在しない行は出力しません。
- リスト
- カラム位置または区切文字で区切られたフィールド位置を指定できます。カラム位置は,1から始まります。
- 選択範囲をコンマ,スペースまたはタブで区切ると,複数の選択範囲が指定できます。スペースまたはタブで区切る場合は,"(ダブルクォーテーション)で囲む必要があります。1個の選択範囲はn,x-,-y,x-yのどれかを指定します。存在しない位置を指定してもエラーにはなりません。n,x,yはフィールドまたはカラム位置です。
- n:その位置だけを示します。
- x-:xの位置から最後までを示します。
- -y:先頭位置からyの位置までを示します。
- x-y:位置xから位置yを示します。x<yとなる必要があります。x>yの場合,エラーメッセージが出力されます(cut: [-bcf] list: illegal list value)。
- -n
- マルチバイトを分割しません。-nを指定しない場合は,マルチバイト文字の途中でも分割します。
- パス名
- 入力するパス名を指定します。パス名を省略すると標準入力から入力します。
- -s
- 区切り文字が存在しない行は出力しません。-fオプションと共に指定しない場合,usageを表示して終了します。
- -d デリミタ
- デリミタで指定された先頭1バイトをフィールド区切文字にします。-dオプションを指定しない場合,タブが指定されたものとします。
- -fオプションと共に指定しない場合,usageを表示して終了します。
戻り値
戻り値 意味 0 正常終了 1 エラー終了
使用例
cutコマンドを実行した結果表示に使用するファイルの形式を次に示します。
- test.txt
123:5678:abcdef:hijkl field1:field2:field3:filed4 sssssssssssssssssssssss
- 1バイト目と3から5バイト目を出力します。
$ cut -b 1,3-5 test.txt 13:5 feld ssss- 1から4文字目までを出力します。
$ cut -c -4 test.txt 123: fiel ssss- 1番目と4番目のフィールドを表示します。
$ cut -f 1,4 -d : test.txt 123:hijkl field1:filed4 sssssssssssssssssssssss- オプションエラーのメッセージを表示します。
- Windowsの例
このメッセージは,コマンドを実行するプラットフォームによって異なる場合があります。
C:\TEMP>%ADSH_OSCMD_DIR%\cut -z cut: illegal option -- z usage: cut -b list [-n] [file ...] cut -c list [file ...] cut -f list [-s] [-d delim] [file ...]
All Rights Reserved. Copyright (C) 2011, 2012, Hitachi, Ltd.