Freitag, 21. September 2012

rubygems file_split

Im Zuge eines Massen-Imports von SQL Daten haben wir dieses gem entwickelt. Damit kann man via Ruby-Modul als auch via Befehlszeile (mittels GLI gem) grosse Dateien in mehrere kleine aufteilen.

Das Modul FileSplit beinhaltet die Klasse FileSplitter mit folgendem Aufbau:
  • source (required, gli alias: -s): Die Quelldatei
  • target (required, gli alias: -t): Die resultierenden Dateien werden nach diesem Muster #{basename(target)}_n.#{extname(target)} gespeichert.
  • lines (default: 1000, gli alias: -l): Die Aufteilung erfolgt anhand der Anzahl Zeilen. Es kann ein Maximum von Zeilen festlegt werden.
  • maxlines (default: 0, gli alias: -m): Die Maximal-Anzahl der zu splittenden Zeilen.
  • header (default: 0, gli alias: -h): Anzahl der Zeilen in der Quelldatei, die den Header ausweisen, wird in jedem Target wiederholt.
  • footer (default: 0, gli alias: -f): Anzahl der Zeilen in der Quelldatei, die den Footer (also letzte n Zeilen) ausweisen, wird in jedem Target wiederholt.
Bei der Verwendung via Befehlszeile müssen die Optionen in den global Variables eingegeben werden, also noch vor dem Befehl split:

lib/file_split -s /in/source.sql -t /out/split.sql -l 2000 -h 2 -f 1 split

Als Modul:

FileSplit.start "/in/source.sql", "/out/split.sql", 2000, 0, 2, 1

Link zum gem: http://www.rubygems.org/gems/file_split

Keine Kommentare:

Kommentar veröffentlichen