Hash Table like implementation in unix


 
Thread Tools Search this Thread
Top Forums UNIX for Dummies Questions & Answers Hash Table like implementation in unix
# 1  
Old 05-17-2011
CPU & Memory Hash Table like implementation in unix

Hi all,

I just downloaded this example from the net. I was looking around for a hash table like implementation in unix when I came across this.

Code:
ARRAY=( "cow:moo"
        "dinosaur:roar"
        "bird:chirp"
        "bash:rock" )

for animal in ${ARRAY[@]} ; do
    KEY=${animal%%:*}
    VALUE=${animal##*:}
    printf "%s likes to %s.\n" $KEY $VALUE
done

Can anyone please help me how does the ${animal%%:*} match to cow , is it a regular expression ?

Thanks in advance ...

Last edited by pludi; 05-17-2011 at 03:49 PM..
# 2  
Old 05-17-2011
No, just a ksh substring feature, using file globbing wild cards with meta characters '*', '?', '[...]' but not '[^...]', not regex. It says get the value of animal and chew the end aggressively so as to find the first ':' with the '*'. The '%' means chew on right end, mnemonic: get your percent in the end. # means pound on the nose, chew on the left end. Double ##/%% takes the * from lazy to aggressive. In these cases, aggressive was unnecessary.
This User Gave Thanks to DGPickett For This Post:
# 3  
Old 05-17-2011
Thanks a lot DGPickett for the response,

Actually I am using bash ( /bin/sh ) , so does this work in bash too ...
# 4  
Old 05-18-2011
Quote:
Originally Posted by anindyabecs
Actually I am using bash ( /bin/sh )
bash most definitely is not /bin/sh except by coincidence on some systems. If you're using bash features, use #!/bin/bash, not #!/bin/sh. On some systems this difference is vital.
This User Gave Thanks to Corona688 For This Post:
# 5  
Old 05-18-2011
Hi Corona688,

Thanks for your reply. In the system that I use we have /bin/sh pointing to bash.

[ais@nm11of05 bin]$ ls -l sh
lrwxrwxrwx 1 root root 4 Jun 3 2010 sh -> bash
[ais@nm11of05 bin]$ pwd
/bin
# 6  
Old 05-24-2011
Quote:
Originally Posted by anindyabecs
Hi Corona688,

Thanks for your reply. In the system that I use we have /bin/sh pointing to bash.
Like I said, that's only a coincidence. If you move this script to another system it could well break. If you're using bash's features, always use #!/bin/bash. The purpose of that is to warn people that this script needs bash! Otherwise they won't know why it's breaking.
# 7  
Old 05-19-2011
Careful, bash may act somewhat like sh when sh is the called program name.
 
Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

Need to print hash of hash in table format

Hi, I have a hash of hash where it has name, activities and count i have data like this - $result->{$name}->{$activities} = $value; content of that are - name - robert tom cat peter activities - running, eating, sleeping , drinking, work i need to print output as below ... (3 Replies)
Discussion started by: asak
3 Replies

2. Programming

Hash Table

I was looking at this script and was wondering if anyone can explain what this script does and how does it work. Thank you for any help. State* lookup(char* prefix, int create) { int i, h; State *sp = NULL ; h = hash(prefix); for (sp = statetab; sp != NULL; sp... (14 Replies)
Discussion started by: totoro125
14 Replies

3. Shell Programming and Scripting

Return a hash table from a sub routine

hello, i am new to scripting and would like to know how to return a hash table from a sub routine. i tried the following, my %hash_function = (); hash_function = &return_hash(); sub return_hash { my %hash = (); ///populate the hash return %hash; } but it dosent seem to... (1 Reply)
Discussion started by: hemalathak10
1 Replies

4. Programming

Hash table

Hi, I hope someone can help me with the following prob.. I need to implement a hashtable whose KEYs are strings and VLAUEs are again hashtables. ie key - is a string and value -is another hashtable . So.... how am I supposed to be implementing my nested hashtable? Thanks in advance (1 Reply)
Discussion started by: andrew.paul
1 Replies

5. UNIX for Advanced & Expert Users

distributed hash table operations(GET,PUT,TRANSFER) implementation

Hi, i want to implement hash table (put, get and transfer operations) using c in unix. so give some nice infromation on how to write my code. (1 Reply)
Discussion started by: kaleab
1 Replies

6. Shell Programming and Scripting

how to import external HASH table in PERL???

hello, I am creating a HASH table using file1.pl :- I want to retrieve the content of the hash table created above from another file named file2.pl :- The problem is that if I separate like this into 2 files.Then it says that HASH table is not created.So can you please tell me how to... (2 Replies)
Discussion started by: nsharath
2 Replies

7. UNIX for Dummies Questions & Answers

nested hash table

Hi, I have a nested hash table say for example as follows: %coins = ( 1 => { "Quarter"=>25, "Dime"=>10, "Nickel"=>5, }, 2 => { "asd"=>34, "qwe"=>45, ... (0 Replies)
Discussion started by: arthi
0 Replies

8. Programming

Creating a Hash Table

Dear Friends, I want to create a hash table using the standard Glib header (if possible) so that I can store a structure and keep the hash key(search key) based on a string. Any example code would be great since I am not able to get the main idea. best regards Skull (4 Replies)
Discussion started by: callmetheskull
4 Replies

9. Programming

hash table implementations in C Language

Hello List, Iam searching for a solution where i can use hash based searching . In Detail , I have linked list which will be dynamically increasing . I need a best searching mechanisim such a way that it can take only one itereation . Right now iam using linear search which is taking... (11 Replies)
Discussion started by: vlrk
11 Replies

10. UNIX for Advanced & Expert Users

Creating a hash table using shell script

Hi, For one of my programs, I need to have a hashtable as in Perl. Unfortunately shell doesnt provide any variable like hash. Is there anyway/trick, I could implement a hash in shell (using shell scripts/sed/awk). JP (2 Replies)
Discussion started by: jyotipg
2 Replies
Login or Register to Ask a Question