diff options
Diffstat (limited to 'bin/make-sample')
-rwxr-xr-x | bin/make-sample | 59 |
1 files changed, 59 insertions, 0 deletions
diff --git a/bin/make-sample b/bin/make-sample new file mode 100755 index 0000000..c282a30 --- /dev/null +++ b/bin/make-sample @@ -0,0 +1,59 @@ +#!/bin/bash +# +# Build a sample dataset. +# +# Copyright (C) 2021 Silvio Rhatto - rhatto@riseup.net +# +# This program is free software: you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation, either version 3 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program. If not, see <http://www.gnu.org/licenses/>. + +# Parameters +DIRNAME="`dirname $0`" +TESTS="$DIRNAME/../tests" +SAMPLE="$TESTS/sample.csv" +SEPARATOR="," +COLS="id a b c d e f g h i" +NCOLS="`echo $COLS | wc -w`" +ENTRIES="${1:-20}" + +# Ensure the test folder and sample file exists +mkdir -p $TESTS +touch $SAMPLE +echo -n "" > $SAMPLE + +# Write sample header +n=1 +for col in $COLS; do + if ((n < $NCOLS)); then + echo -n "$col""$SEPARATOR" >> $SAMPLE + else + echo -n "$col" >> $SAMPLE + fi + + let n++ +done + +echo "" >> $SAMPLE + +# Write some rows +let limit="$NCOLS - 1" +for n in `seq 1 $ENTRIES`; do + #echo -n "$n" >> $SAMPLE + echo -n "$RANDOM" >> $SAMPLE + + for n in `seq 1 $limit`; do + echo -n "$SEPARATOR""$RANDOM" >> $SAMPLE + done + + echo "" >> $SAMPLE +done |