splitコマンド
を利用してファイル分割する方法を確認します。「容量指定で分割」「行数指定で分割」する方法を取り上げます。また、分割したファイルをcatコマンド
で結合する方法についても確認します。
目次
ファイル分割|split
容量指定|split -b
10MBのファイルが存在します。
$ ls -lh
total 20480
-rw-r--r-- 1 xxx staff 10M Jun 9 14:30 dummy10MB.file
2MBずつに分割します。
$ split -b 2m dummy10MB.file split_dummy
2m
は 2MB
を表します。
指定単位 | 補足 |
---|---|
k | KB |
m | MB |
G | GB |
以下、実行結果です。
$ ls -lh
total 40968
-rw-r--r-- 1 xxx staff 10M Jun 9 14:30 dummy10MB.file
-rw-r--r-- 1 xxx staff 2.0M Jun 9 14:32 split_dummyaa
-rw-r--r-- 1 xxx staff 2.0M Jun 9 14:32 split_dummyab
-rw-r--r-- 1 xxx staff 2.0M Jun 9 14:32 split_dummyac
-rw-r--r-- 1 xxx staff 2.0M Jun 9 14:32 split_dummyad
-rw-r--r-- 1 xxx staff 2.0M Jun 9 14:32 split_dummyae
行数指定|split -l
$ cat line.txt
1
2
3
4
5
6
7
8
9
10
3行ずつに分割します。
$ split -l 3 line.txt split_line
以下、実行結果です。
$ ls -l
total 32
-rw-r--r-- 1 xxx staff 20 Jun 9 14:40 line.txt
-rw-r--r-- 1 xxx staff 6 Jun 9 14:41 split_lineaa
-rw-r--r-- 1 xxx staff 6 Jun 9 14:41 split_lineab
-rw-r--r-- 1 xxx staff 8 Jun 9 14:41 split_lineac
$ cat split_lineaa
1
2
3
$ cat split_lineab
4
5
6
$ cat split_lineac
7
8
9
10
ファイル結合|cat
先ほど、行数指定で分割したファイルを結合してみます。
$ cat split_linea* >> merge_line.txt
$ cat merge_line.txt
1
2
3
4
5
6
7
8
9
10