aboutsummaryrefslogtreecommitdiff
path: root/bin/make-sample
diff options
context:
space:
mode:
Diffstat (limited to 'bin/make-sample')
-rwxr-xr-xbin/make-sample59
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