今日の人気記事

  1. chown - ファイルの所有者やグループを変更 - Linuxコマンド
  2. ssh - リモートマシンにSSHでログイン - Linuxコマンド
  3. gzip - ファイルを圧縮・展開 - Linuxコマンド
  4. tar - アーカイブの作成・展開 - Linuxコマンド
  5. su - ユーザーを変更する - Linuxコマンド

split - ファイルを分割 - Linuxコマンド

スポンサーリンク

splitコマンドは、ファイルを複数のファイルへ分割するコマンドです。

splitコマンド

書式

split [オプション] ファイル [分割ファイルのプリフィックス]

デフォルトでは、1000行ごとにファイルを分割します。分割ファイルのプリフィックスを指定しない場合は、「x」という接頭辞(プリフィックス)が付けられます。

オプション

-行数
-l 行数
指定した行数でファイルを分割します。
-b バイト指定したバイト数でファイルを分割します。
-dアルファベットのサフィックスの代わりに数字を使います。

使用例

まずは、オプションを指定せずにコマンドを実行します。分割後のファイルには、「x」というプリフィックスが付けられた、aa、ab、ac……という分割ファイルが作成されます。

$ split access.log
$ ls
access.log  xaf  xal  xar  xax  xbd  xbj  xbp  xbv  xcb  xch  xcn  xct  xcz  xdf  xdl
xaa         xag  xam  xas  xay  xbe  xbk  xbq  xbw  xcc  xci  xco  xcu  xda  xdg  xdm
xab         xah  xan  xat  xaz  xbf  xbl  xbr  xbx  xcd  xcj  xcp  xcv  xdb  xdh  xdn
xac         xai  xao  xau  xba  xbg  xbm  xbs  xby  xce  xck  xcq  xcw  xdc  xdi  xdo
xad         xaj  xap  xav  xbb  xbh  xbn  xbt  xbz  xcf  xcl  xcr  xcx  xdd  xdj  xdp
xae         xak  xaq  xaw  xbc  xbi  xbo  xbu  xca  xcg  xcm  xcs  xcy  xde  xdk

分割ファイルのプリフィックスを指定します(ここでは、BUN)。

$ split access.log BUN
$ ls
BUNaa  BUNaj  BUNas  BUNbb  BUNbk  BUNbt  BUNcc  BUNcl  BUNcu  BUNdd  BUNdm
BUNab  BUNak  BUNat  BUNbc  BUNbl  BUNbu  BUNcd  BUNcm  BUNcv  BUNde  BUNdn
BUNac  BUNal  BUNau  BUNbd  BUNbm  BUNbv  BUNce  BUNcn  BUNcw  BUNdf  BUNdo
BUNad  BUNam  BUNav  BUNbe  BUNbn  BUNbw  BUNcf  BUNco  BUNcx  BUNdg  BUNdp
BUNae  BUNan  BUNaw  BUNbf  BUNbo  BUNbx  BUNcg  BUNcp  BUNcy  BUNdh  access.log
BUNaf  BUNao  BUNax  BUNbg  BUNbp  BUNby  BUNch  BUNcq  BUNcz  BUNdi
BUNag  BUNap  BUNay  BUNbh  BUNbq  BUNbz  BUNci  BUNcr  BUNda  BUNdj
BUNah  BUNaq  BUNaz  BUNbi  BUNbr  BUNca  BUNcj  BUNcs  BUNdb  BUNdk
BUNai  BUNar  BUNba  BUNbj  BUNbs  BUNcb  BUNck  BUNct  BUNdc  BUNdl

行数を指定して、ファイルを分割します(オプション -l)。

$ split -l 5000 access.log 
$ ls
access.log  xab  xad  xaf  xah  xaj  xal  xan  xap  xar
xaa         xac  xae  xag  xai  xak  xam  xao  xaq  xas

アルファベットのサフィックスの代わりに数字を使います(オプション -d)。00、01、02、…という数字のサフィックスが付けられます。

$ split -d access.log
$ ls
access.log  x05  x11  x17  x23  x29  x35  x41  x47  x53  x59  x65  x71  x77  x83  x89
x00         x06  x12  x18  x24  x30  x36  x42  x48  x54  x60  x66  x72  x78  x84  x90
x01         x07  x13  x19  x25  x31  x37  x43  x49  x55  x61  x67  x73  x79  x85  x91
x02         x08  x14  x20  x26  x32  x38  x44  x50  x56  x62  x68  x74  x80  x86  x92
x03         x09  x15  x21  x27  x33  x39  x45  x51  x57  x63  x69  x75  x81  x87  x93
x04         x10  x16  x22  x28  x34  x40  x46  x52  x58  x64  x70  x76  x82  x88
x06         x14  x22  x30  x38  x46  x54  x62  x70  x78  x86

関連コマンド

cut, sort, strings

関連記事(一部広告含む)