2017年2月28日

テキストファイルを分割するには?(splitコマンド)

splitコマンドを実行すると、ファイルを任意の行単位で分割できます。例えば、1万行あるsamplefileがあるとします。

$ wc -l samplefile
10000 samplefile

このファイルを1000行ごとに分割するには、次のようにします。

$ split -1000 samplefile
$ ls
samplefile  xaa  xab  xac  xad  xae  xaf  xag  xah  xai  xaj

分割したファイル名はアルファベットの連番が付けられるのですが、ちょっとわかりにくいですね。「samplefile.aa」「samplefile.ab」のように分割するには、次のようにします。

$ split -1000 samplefile samplefile.

確認してみます。

$ ls
samplefile     samplefile.ab  samplefile.ad  samplefile.af  samplefile.ah  samplefile.aj
samplefile.aa  samplefile.ac  samplefile.ae  samplefile.ag  samplefile.ai

ファイルごとの行数も確認してみます。

$ wc -l *
10000 samplefile
 1000 samplefile.aa
 1000 samplefile.ab
 1000 samplefile.ac
 1000 samplefile.ad
 1000 samplefile.ae
 1000 samplefile.af
 1000 samplefile.ag
 1000 samplefile.ah
 1000 samplefile.ai
 1000 samplefile.aj
20000 合計

なお、分割したファイルを結合するには、catコマンドを使います。

$ cat samplefile.* > samplefile





0 件のコメント:

コメントを投稿