Sponsored Content
Top Forums Shell Programming and Scripting Multi Dimensional array in bash Post 303012321 by nms on Friday 2nd of February 2018 06:06:04 AM
Old 02-02-2018
Multi Dimensional array in bash

Hi, I'm developing a script which contains a multi dimensional array, however for some reason the array is not iterating.

When executing the script, services are listed as arguments from argument 2. Ex voice data sms.

Code:
service=${@:2};

for services in $service
do

data_call_type=CALL_TYPE;
data_term=DATA;
voice_call_type=CALL_TYPE;
voice_term=VOICE-MO;
sms_call_type=CALL_TYPE;
sms_term=SMS-MO;
fi


done

path_dir=$TMPDIR/

for services in $service
    do
			declare -a arr_cust=("A" "B" "C" "D" "E" "F" "G" "H" "I" "J")
			declare -a arr_ids=("124" "94" "61" "85" "95" "105" "106" "107" "134" "158")
			
			for index in ${!array[*]};
			do
			
            charged_data=`grep -s $data_call_type=$data_term $path_dir/* | grep -s ACS_CUST_ID=${arr_ids[$index]} | wc -l`
 notcharged_data=`grep -s $data_call_type=$data_term $path_dir/* | grep -s ACS_CUST_ID={arr_ids[$index]} | wc -l`


eval charged="\$charged_$services"
        eval notcharged="\$notcharged_$services"
        
echo ${services}_charged $charged > $OUTPUTDIR/$(basename $0 .sh).$services.${arr_cust[$index]}


The issue i'm finding is that the grep is not working properly :

Code:
grep -s ACS_CUST_ID=${arr_ids[$index]}

also I am noticing that array is not iterating over index of both arrays. what I am after is that the each index perform all greps for charged_data and notcharged_data and output to file with extension listing the value of the index from array 'arr_cust'.

Can someone provide some help where i'm wrong in the above?

---------- Post updated at 12:06 PM ---------- Previous update was at 12:05 PM ----------

Kindly ignore the fact that for loop is doubled. This is because there are additional if conditions in the script
 

10 More Discussions You Might Find Interesting

1. Programming

Multi-Dimensional Arrays

So, I'm fooling around with multi demtional arrays, and I made this in a short amount of time: #include <stdio.h> main(int argc, char *argv) { char blah = { {'a', 'b'}, {'b', 'a'} }; int i = 0; while (i < 2) { if (argv == blah) printf("%c\n", blah); i++; } } The goal... (3 Replies)
Discussion started by: Octal
3 Replies

2. Shell Programming and Scripting

Multi Dimensional array in KSH

Is there any way to use multi dim. array in KSH ? (1 Reply)
Discussion started by: sinpeak
1 Replies

3. Shell Programming and Scripting

PHP: how can I delete empty/NULL elements from a multi-dimensional array.

Hi all I have a file that i'm running and exec(cat ./dat) against..and putting its contents into any array, then doing an exploding the array into a multi-dimension array... The 15 multi-dimensional arrays have elements that are null/empty, I would like to remove/unset these elements and then... (2 Replies)
Discussion started by: zeekblack
2 Replies

4. Shell Programming and Scripting

PHP: Search Multi-Dimensional(nested) array and export values of currenly worked on array.

Hi All, I'm writing a nagios check that will see if our ldap servers are in sync... I got the status data into a nested array, I would like to search key of each array and if "OK" is NOT present, echo other key=>values in the current array to a variable so...eg...let take the single array... (1 Reply)
Discussion started by: zeekblack
1 Replies

5. Shell Programming and Scripting

Match elements in an AWK multi-dimensional array

Hello, I have two files in the following format; file1: A B C D E F G H I J K L file2: 1 2 3 4 5 6 7 8 9 10 11 12 I have read them both in to multi-dimensional arrays. I need a file that has column 2 of the first file printed out for each column 3 of the second file ie... ... (3 Replies)
Discussion started by: cold_Que
3 Replies

6. Shell Programming and Scripting

sorting multi dimensional array

Hi there, Can someone let me know how to sort the 2 dimensional array below by column 1 then by column 2? 22 55 2222 2230 33 66 44 58 222 240 11 25 22 60 33 45 output: 11 25 22 55 22 60 33 45 33 66 44 58 (6 Replies)
Discussion started by: phoeberunner
6 Replies

7. UNIX for Dummies Questions & Answers

Help: stdin to multi-dimensional array

I cant get out of this while loop at the beginning of my program. Just reading from stdin one char at a time and storing it into a multi-array. Need to fix it with in two hours. #include <sys/wait.h> #include <stdio.h> #include <stdlib.h> #include <sys/types.h> #include <unistd.h> #include... (1 Reply)
Discussion started by: unt_engn
1 Replies

8. Shell Programming and Scripting

Assign two dimensional array in bash at once

Hi, I have a 10*10 two dimensional array. How do I assign value to all it's 100 elements at once? I don't want to open two for loops and assign one by one. Thanks, Amit (2 Replies)
Discussion started by: amit14august
2 Replies

9. Shell Programming and Scripting

Multi Dimensional array

I have an array of names. Each one of the name, has a number represented to it. For example A has an ID 8, B has an ID 2. What I am after is a for loop that when the array is in position 1, a particular variable is set to the value of position 1 in array 2 declare -a arr=("A" "B" "C"... (6 Replies)
Discussion started by: nms
6 Replies

10. Shell Programming and Scripting

Assign Two Dimensional Array In Bash At Once

Hi, I have a 10*10 two dimensional array. How do I assign value to all it's 100 elements at once? I don't want to open two for loops and assign one by one. Thanks, Shuri (1 Reply)
Discussion started by: shurimano
1 Replies
ARRAY_COUNT_VALUES(3)							 1						     ARRAY_COUNT_VALUES(3)

array_count_values - Counts all the values of an array

SYNOPSIS
array array_count_values (array $array) DESCRIPTION
array_count_values(3) returns an array using the values of $array as keys and their frequency in $array as values. PARAMETERS
o $array - The array of values to count RETURN VALUES
Returns an associative array of values from $array as keys and their count as value. ERRORS
/EXCEPTIONS Throws E_WARNING for every element which is not string or integer. EXAMPLES
Example #1 array_count_values(3) example <?php $array = array(1, "hello", 1, "world", "hello"); print_r(array_count_values($array)); ?> The above example will output: Array ( [1] => 2 [hello] => 2 [world] => 1 ) SEE ALSO
count(3), array_unique(3), array_values(3), count_chars(3). PHP Documentation Group ARRAY_COUNT_VALUES(3)
All times are GMT -4. The time now is 01:56 PM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy