From 2cdab60efb4406fd1898b8d4065f30d98dc8955e Mon Sep 17 00:00:00 2001 From: olli <> Date: Sat, 24 Aug 2024 12:58:12 +0200 Subject: [PATCH] super array v/vr --- gaboshlib/g_basename.sh | 4 ++-- gaboshlib/g_read_csv.sh | 11 +++++++++-- 2 files changed, 11 insertions(+), 4 deletions(-) diff --git a/gaboshlib/g_basename.sh b/gaboshlib/g_basename.sh index 78a6938..4458dbc 100644 --- a/gaboshlib/g_basename.sh +++ b/gaboshlib/g_basename.sh @@ -1,5 +1,5 @@ function g_basename { - g_basename_result="${1##*/}" - g_basename_result="${g_basename_result:-/}" + g_basename_result=${1##*/} + g_basename_result=${g_basename_result:-/} } diff --git a/gaboshlib/g_read_csv.sh b/gaboshlib/g_read_csv.sh index eefbb5d..f17fc31 100644 --- a/gaboshlib/g_read_csv.sh +++ b/gaboshlib/g_read_csv.sh @@ -48,6 +48,10 @@ function g_read_csv { g_csv_headline_array+=("${g_headline_item//[^a-zA-Z0-9_]/}") done + g_basename $g_csvfile + local g_csvfile_base=${g_basename_result/\.history*.csv/} + g_csvfile_base=${g_csvfile_base//[^a-zA-Z0-9_]/} + # read last lines if defined or complete csv file if [ -n "$g_last_lines" ] then @@ -55,14 +59,15 @@ function g_read_csv { g_csvfile="${g_tmp}/g_csv_tmp.csv" fi - # read csv file to array g_array "$g_csvfile" g_csv_array_ref g_csv_array=("${g_csv_array_ref[@]}") - # go reverse through array + # create associative arrays forward and reverse and superarray v/vr declare -Ag v_csv_array_associative declare -Ag v_csv_array_associative_reverse + declare -Ag v + declare -Ag vr l=0 for (( r=${#g_csv_array[@]}-1 ; r>=0 ; r-- )) do @@ -76,6 +81,8 @@ function g_read_csv { [ "$l" = 0 ] && declare -g v_${g_headline_item}="${g_csv_line_array[i]}" v_csv_array_associative[${g_headline_item}_${r}]="${g_csv_line_array[i]}" v_csv_array_associative_reverse[${g_headline_item}_${l}]="${g_csv_line_array[i]}" + v[${g_csvfile_base}_${g_headline_item}_${r}]=${g_csv_line_array[i]} + vr[${g_csvfile_base}_${g_headline_item}_${l}]=${g_csv_line_array[i]} ((i++)) done ((l++))