巨大なSQL ダンプファイルから、目的のテーブルのリストア SQL を探す機会がありました。
数十GBの ダンプファイル はエディタで開けません。小さなファイルに分割してエディタで開き探しました。
その手順のメモです。
cat と split コマンドを使用します。
結合についてはこちら。
サイズで分割
下記コマンドでは、1GBのファイルを100MB 単位で分割します。
1 | $ cat large_file.txt | split -b 100000000 |
結果。
1 2 3 4 5 6 7 8 9 10 11 12 | $ 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行単位で分割します。
1 | $ cat large_file.txt | split -l 1000 |
結果。
1 2 3 4 | $ 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 |
宮崎県在住。
プログラムを書いて暮らしています。趣味はルアーフィッシング、ギター。