大きなファイルを分割する

巨大なSQL ダンプファイルから、目的のテーブルのリストア SQL を探す機会がありました。
数十GBの ダンプファイル はエディタで開けません。小さなファイルに分割してエディタで開き探しました。
その手順のメモです。

cat と split コマンドを使用します。

結合についてはこちら

サイズで分割

下記コマンドでは、1GBのファイルを100MB 単位で分割します。

$ cat large_file.txt | split -b 100000000

結果。

$ ls -l
-rw-r--r-- 1 ktykwsk staff 1000000000 2 1 09:09 large_file.txt
-rw-r--r-- 1 ktykwsk staff 100000000 2 1 09:10 xaa
-rw-r--r-- 1 ktykwsk staff 100000000 2 1 09:10 xab
-rw-r--r-- 1 ktykwsk staff 100000000 2 1 09:10 xac
-rw-r--r-- 1 ktykwsk staff 100000000 2 1 09:10 xad
-rw-r--r-- 1 ktykwsk staff 100000000 2 1 09:10 xae
-rw-r--r-- 1 ktykwsk staff 100000000 2 1 09:10 xaf
-rw-r--r-- 1 ktykwsk staff 100000000 2 1 09:10 xag
-rw-r--r-- 1 ktykwsk staff 100000000 2 1 09:10 xah
-rw-r--r-- 1 ktykwsk staff 100000000 2 1 09:10 xai
-rw-r--r-- 1 ktykwsk staff 100000000 2 1 09:10 xaj

行数で分割

下記コマンドでは、1GBのファイルを1000行単位で分割します。

$ cat large_file.txt | split -l 1000

結果。

$ ls -l
-rw-r--r-- 1 ktykwsk staff 1000000000 2 1 09:39 large_file.txt
-rw-r--r-- 1 ktykwsk staff 694042105 2 1 09:39 xaa
-rw-r--r-- 1 ktykwsk staff 305957895 2 1 09:39 xab