08-17-2018
With no indication of what you want the second array dimension to be nor what values you want to use as indices into your array, I have no idea how to give you any guidance on this subject.
I don't find your pseudocode helpful in understanding what you're trying to do. I don't see anything indicating that there is a two dimensional array in that pseudocode and I have no idea why you would need three arrays that all contain the same number of elements and have each corresponding element of those three different arrays contain identical strings.
In line 790 of the code you showed us, there are mismatched double-quotes. That is likely to cause a syntax error somewhere in one of the following lines unless you manage to match the last quote with another mismatched double-quote on a line somewhere following line 794 in code that you haven't bothered to show us. If you have read the manual page, and there is something about these three variables that you don't understand, ask us specific questions about what you don't understand. If you just say you don't understand what $$ does, about all we can do is quote what you will find on the bash manual page.
Depending on what you're trying to do, you might also need to use an associative array instead of an indexed array. As far as I know, bash doesn't provide multi-dimensional arrays, but they can sometimes be simulated using associative arrays. Associative arrays were added to ksh in 1993. I don't know what version of bash you need in order to be able to use associative arrays.
Since you haven't bothered to tell us what operating system you're using and what version of bash you're using, we can't make many useful suggestions.
How $$, $@, "$@", and $# work are all explained very clearly on the bash man page on your system and in the bash manual pages available under the "Man" tab at the top of The UNIX & Linux Forums home page.
This User Gave Thanks to Don Cragun For This Post:
10 More Discussions You Might Find Interesting
1. Shell Programming and Scripting
i'm trying to open a file with three or more columns and an undetermined, but finite number of rows. I want to define an array for each row with each element of the row as a sub array. The columns are separated by tabs or spaces.
Here's the file:
12x3.12z34b.342sd3.sds 454.23.23.232 ... (9 Replies)
Discussion started by: prkfriryce
9 Replies
2. Shell Programming and Scripting
Hello Experts,,
Can anybody give me a brief idea what is following bold letter statement is for!!
what is the term called so that I can google for it..
It seems to be an array inside another array..
awk'
/TXADDR/ { txaddr=$NF } ##understood
/TXDATA/ { txdata]=$NF... (1 Reply)
Discussion started by: user_prady
1 Replies
3. Shell Programming and Scripting
In a single dim. awk array, we can use :
<index> in <array name>
to determine whether a particualar index exists in the array or not.
Is there a way to achieve this in a awk multi dim. array ? (4 Replies)
Discussion started by: sinpeak
4 Replies
4. Programming
Hi! I need to make dynamic multidimensional arrays using the vector class. I found in this page How to dynamically create a two dimensional array? - Microsoft: Visual C++ FAQ - Tek-Tips the way to do it in 2D, and now i'm trying to expand it to 3D but i don't understand how is the operator working,... (0 Replies)
Discussion started by: carl.alv
0 Replies
5. Shell Programming and Scripting
Hi,
I was trying to process a file with the help of awk. I want to first display all the rows that contains 01 and at the end of processing I have to print some portion of all the lines. like below.
Output expected: (2 Replies)
Discussion started by: ahmedwaseem2000
2 Replies
6. Programming
I've been struggling with this for quite some time. I decided I should get some help with this. Nothing is working. I'm getting a segmentation fault or out of bounds error when I try to load the entries in the for loop.I'm really frustrated. :mad: Compiling isn't the problem. It's crapping out on... (5 Replies)
Discussion started by: sepoto
5 Replies
7. Shell Programming and Scripting
I have an awk script that I am writing and I needed to make use of a multidimensional array to hold some data... Which is all fine but I need to loop through that array now and I have no idea how to do that.
for a regular array, the following works:
ARRAY
for(var in ARRAY) {
...
}
... (5 Replies)
Discussion started by: trey85stang
5 Replies
8. Shell Programming and Scripting
Hi all!
I would like to know how to print $0 when using multidimensional array like below
time being I am using for loop to print columns like this
awk 'FNR==1{i++}
{for(k=1;k<=NF;k++)A=$k}
END{for(j=1;j<=25;j++)
print A,A,A,A,A,A,A,A,A,A,A,A,A,A}' file1 file2 so here my problem is I... (5 Replies)
Discussion started by: Akshay Hegde
5 Replies
9. Shell Programming and Scripting
awk -F'\t' -v OFS='\t' '
{ if($2 in arr) {
#print "Sahi", NR,arr
for(k=2;k<=NF;k++){
# sum]+=$2
}
}
else {
arr=NR
#print "awk",NR
for (k=3;k<=NF ; k++){
sum=$k
}
}
} (7 Replies)
Discussion started by: genome
7 Replies
10. Shell Programming and Scripting
Hello
I have a problem.
I create a Multidimensional Array Like this:
ENTRY="$kunnum-$host"
ENTRY="$host"
ENTRY="# $3"
for key in "${!ENTRY}"; do
ENTRIES=${ENTRY} # INDEX=IP(5)
donedeclare -p
declare -A ENTRIES=(="unas15533" ="unas" ="# RDP-Terminal 2"... (12 Replies)
Discussion started by: Marti95
12 Replies
LEARN ABOUT X11R4
libbash
LIBBASH(7) libbash Manual LIBBASH(7)
NAME
libbash -- A bash shared libraries package.
DESCRIPTION
libbash is a package that enables bash dynamic-like shared libraries. Actually its a tool for managing bash scripts whose functions you may
want to load and use in scripts of your own.
It contains a 'dynamic loader' for the shared libraries ( ldbash(1)), a configuration tool (ldbashconfig(8)), and some libraries.
Using ldbash(1) you are able to load loadable bash libraries, such as getopts(1) and hashstash(1). A bash shared library that can be loaded
using
ldbash(1) must answer 4 requirments:
1. It must be installed in $LIBBASH_PREFIX/lib/bash (default is /usr/lib/bash).
2. It must contain a line that begins with '#EXPORT='. That line will contain (after the '=') a list of functions that the library
exports. I.e. all the function that will be usable after loading that library will be listed in that line.
3. It must contain a line that begins with '#REQUIRE='. That line will contain (after the '=') a list of bash libraries that are
required for our library. I.e. every bash library that is in use in our bash library must be listed there.
4. The library must be listed (For more information, see ldbashconfig(8)).
Basic guidelines for writing library of your own:
1. Be aware, that your library will be actually sourced. So, basically, it should contain (i.e define) only functions.
2. Try to declare all variables intended for internal use as local.
3. Global variables and functions that are intended for internal use (i.e are not defined in '#EXPORT=') should begin with:
__<library_name>_
For example, internal function myfoosort of hashstash library should be named as
__hashstash_myfoosort
This helps to avoid conflicts in global name space when using libraries that come from different vendors.
4. See html manual for full version of this guide.
AUTHORS
Hai Zaar <haizaar@haizaar.com>
Gil Ran <ril@ran4.net>
SEE ALSO
ldbash(1), ldbashconfig(8), getopts(1), hashstash(1) colors(1) messages(1) urlcoding(1) locks(1)
Linux Epoch Linux