Main program.
Get the rlimit current number of open files the process is allowed.
Write input lines to multiple files, splitting based on line count.
Write input lines to multiple output files using fields as a random selection key.
Write input lines to multiple files, randomly selecting an output file for each line.
Invokes the proper split routine based on the command line arguments.
A SplitOutputFiles struct holds a collection of output files.
Container for command line options and derived data.
Command line tool for splitting a files (or files) into multiple output files. Several methods for splitting are available, including splitting by line count, splitting by random assignment, and splitting by random assignment based on key fields.
Copyright (c) 2020, eBay Inc. Initially written by Jon Degenhardt