0
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

Linux: 大きいファイルの分割・結合方法

Posted at

たまに必要となるのでメモ。

実施環境:
Linux
[testuser@testhost ~]$ uname -a
Linux testhost 4.18.0-147.8.1.el8_1.x86_64 #1 SMP Thu Apr 9 13:49:54 UTC 2020 x86_64 x86_64 x86_64 GNU/Linux
[testuser@testhost ~]$ echo $SHELL
/bin/bash

サイズの大きいファイルを、Linux上で分割したい時があります。
そのような時に使用するのが、splitコマンドです。
以下のように記載して使用します。

Linux
split -b 分割サイズ -d 分割前ファイル 分割後ファイル

分割後のファイル名は、分割後ファイル00,分割後ファイル01,...となります。
以下、実行例です。

Linux
[testuser@testhost ~]$ ls -lh test.log*
-rw-r--r-- 1 testuser testgrp 4.8M Jul  3 20:17 test.log
[testuser@testhost ~]$ split -b 1M -d test.log test.log.
[testuser@testhost ~]$ ls -lh test.log*
-rw-r--r-- 1 testuser testgrp 4.8M Jul  3 20:17 test.log
-rw-r--r-- 1 testuser testgrp 1.0M Jul  3 20:20 test.log.00
-rw-r--r-- 1 testuser testgrp 1.0M Jul  3 20:20 test.log.01
-rw-r--r-- 1 testuser testgrp 1.0M Jul  3 20:20 test.log.02
-rw-r--r-- 1 testuser testgrp 1.0M Jul  3 20:20 test.log.03
-rw-r--r-- 1 testuser testgrp 787K Jul  3 20:20 test.log.04

上記の例では、test.logを1MB単位のtest.log.00~test.log.04に分割しています。
分割したファイルを結合するにはcatコマンドを使用します。

Linux
[testuser@testhost ~]$ ls -lh test.log*
-rw-r--r-- 1 testuser testgrp 4.8M Jul  3 20:17 test.log
-rw-r--r-- 1 testuser testgrp 1.0M Jul  3 20:20 test.log.00
-rw-r--r-- 1 testuser testgrp 1.0M Jul  3 20:20 test.log.01
-rw-r--r-- 1 testuser testgrp 1.0M Jul  3 20:20 test.log.02
-rw-r--r-- 1 testuser testgrp 1.0M Jul  3 20:20 test.log.03
-rw-r--r-- 1 testuser testgrp 787K Jul  3 20:20 test.log.04
[testuser@testhost ~]$ cat test.log.* > test.log.merge
[testuser@testhost ~]$ ls -lh test.log*
-rw-r--r-- 1 testuser testgrp 4.8M Jul  3 20:17 test.log
-rw-r--r-- 1 testuser testgrp 1.0M Jul  3 20:20 test.log.00
-rw-r--r-- 1 testuser testgrp 1.0M Jul  3 20:20 test.log.01
-rw-r--r-- 1 testuser testgrp 1.0M Jul  3 20:20 test.log.02
-rw-r--r-- 1 testuser testgrp 1.0M Jul  3 20:20 test.log.03
-rw-r--r-- 1 testuser testgrp 787K Jul  3 20:20 test.log.04
-rw-r--r-- 1 testuser testgrp 4.8M Jul  3 20:22 test.log.merge
[testuser@testhost ~]$ diff test.log test.log.merge
[testuser@testhost ~]$ 
0
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?