X-Git-Url: https://zdv2.bktei.com/gitweb/BK-2020-03.git/blobdiff_plain/22772fe83963783e1aa3686d277b8da051076e8e..2cad3c53d101769ba66b5e7f3ae58b7c3db02616:/unitproc/bkshuf diff --git a/unitproc/bkshuf b/unitproc/bkshuf index 4bf9f99..e41d725 100644 --- a/unitproc/bkshuf +++ b/unitproc/bkshuf @@ -1,12 +1,15 @@ #!/usr/bin/env bash # Desc: Mixes input lines while also preserving some neighbors # Usage: cat file | bkshuf arg1 -# Version 0.0.1 +# Version 0.1.1 # Depends: bc 1.07.1, GNU Coreutils 8.32 (shuf) # Input: var: arg1 initial lines to output -BKSHUF_PARAM_LINEC=1000000; -BKSHUF_PARAM_GSIZE=25 # lines per group for BKSHUF_PARAM_LINEC lines of input +# Load env vars +## For these numbers of lines of input... +if [[ ! -v BKSHUF_PARAM_LINEC ]]; then BKSHUF_PARAM_LINEC=1000000; fi; +## ... target this group size. +if [[ ! -v BKSHUF_PARAM_GSIZE ]]; then BKSHUF_PARAM_GSIZE=25; fi; yell() { echo "$0: $*" >&2; } # print script path and all args to stderr @@ -121,7 +124,12 @@ main() { else lc_out_max="$1"; # output line count fi; - + + # Check env vars + if ! checkInt "$BKSHUF_PARAM_LINEC"; then + die "FATAL:Not an int:BKSHUF_PARAM_LINEC:$BKSHUF_PARAM_LINEC"; fi; + if ! checkInt "$BKSHUF_PARAM_GSIZE"; then + die "FATAL:Not an int:BKSHUF_PARAM_LINEC:$BKSHUF_PARAM_GSIZE"; fi; # store input lines from stdin (like `shuf`) while read -r line; do