|
csvsplit is a simple to use windows command line program that
allows any number of csv files to be split into separate file
sets based upon a specified match criteria. For example,
splitting accounting data based on the values within the "Group"
column - a new csv file is created for each unique value found
in the Group column (eg admins, sales, engineering).
In case there is some sensitive
data that must be removed from the split csv file set,
csvsplit also provides for simple filtering whereby rows can
be excluded based on simple pattern matching.
csvsplit works in
several modes:
- autosplit mode. In
autosplit mode csvsplit automatically creates a new csv file
for each unique value found in the "split field". So, if the
"Group" column was set as the split column and a csv file
contained rows with 10 different values of "Group", the
result would be 10 separate split csv's
- configured mode. In
configured mode, you specify which values of the split
column you are interested in. csvsplit splits out any rows
that match and ignores any others.
csvsplit is the perfect
companion for csvsync & aaa-reports! as shown in the
example deployment below where "Managed AAA" services are hosted
by a provider. CSV data (such as passed authentications, failed
attempts, RADIUS/TACACS accounting etc) is downloaded
automatically (via csvsync) then split out into a file set
per-customer.
With aaa-reports! v2.2
Multi-DB feature you can now
import the separate groups of split CSV logs into their own
back-end database. An example scenario is in the case of
a managed AAA service provider who uses multiple ACS servers to
provide AAA services to a number of client organisations. Each
client organisation is configured in ACS with its own Network
Device Group. By splitting all the ACS logs on the Network
Device Group attribute and importing the split logs into
separate databases the service provider is able to maintain
customer-specific aaa-reports! databases. This results in more
secure reporting and allows for all the reports to be customer
specific without having to write custom queries to filter out
unwanted data.
| |
|
|
| |
csvsplit is
particularly useful for managed AAA hosting where
sub-sets of logged data are required by clients for
their own reporting purposes. Typically in these hosted
AAA scenario's each client will have one or more ACS
groups allocated to them. With csvsplit it is easy to
rip only the csv rows that are destined for that
customer. Many AAA "providers" generate extra revenue by
charging for this service (either for supply of log data
only or log data + aaa-reports!) |
|
| |
|
|
csvsplit usage
csvsplit
is ideal for use in conjunction with the Windows Scheduler service
and csvsync to provide your managed clients with
up-to-date, relevant and secure log data. We recommend you write a .bat or .cmd file, for example:
MyCsvSplit.bat:
| |
|
|
| |
for %%csv in (*.csv) do c:\utils\csvsplit -i
split.ini -f %%csv
above example assumes that
csvsplit.exe is located
in c:\utils. For details of
the .ini file content please refer to the documentation that
comes with the csvsplit install
|
|
| |
|
|
csvsplit command line
options
| Options |
Description |
Notes |
|
-i
<inifile> |
Name of .ini file holding
csvsplit config |
Mandatory
parameter |
|
-f
<csv filename> |
CSV file to be split |
Mandatory
parameter.
|
|