csplit a olbrzymie pliki
Moim zadaniem było naprawić uszkodzony plik kopii bezpieczeństwa bazy danych PostgreSQL. Wiedziałem w której linii jest błąd i na czym polega, jednak plik kopi bezpieczeństwa był na tyle olbrzymi, że edycja jego edycja była bardzo utrudniona. Z pomocą przyszedł mi program csplit znaleziony w pakiecie GnuWin32. Program ten potrafi podzielić plik na mniejsze na podstawie dopasowania przez wyrażenie regularne. Wydałem następujące polecenie:
csplit –f "out_" nazwa_pliku_backup.sql "/^COPY /" {*}
head –n 1 out_*
W wyniku pracy programu csplit uzyskałem kilkadziesiąt mniejszych plików – po jednym dla każdej tabeli w bazie.
Categories: Bazy danych, Programowanie