Visit Our UNIX and Linux User Community


awk computed variable names


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting awk computed variable names
# 1  
Old 02-04-2008
awk computed variable names

Is there a way to do make-style computed variable names in awk? e.g. in make
Code:
foo = bar
bar = wocket

I can get "wocket" with
Code:
$($(foo))

Alternatively can you list all defined variables in awk?

thanks
# 2  
Old 02-04-2008
Maybe this helps:
Code:
> foo=var
> awk 'BEGIN{var="wocket";print '${foo}'}'
wocket

# 3  
Old 02-04-2008
The following code snippet outputs "wooket"

Code:
#!/usr/bin/awk -f

BEGIN {
    bar="wooket";
    foo=bar;
}

END { print foo }

# 4  
Old 02-05-2008
Thanks for the reply, but that's not exactly what I'm after. That just assigns "wocket" to bar, copies the value of that to foo, then prints the value of foo.

I was wondering if it's possible to say (as in a makefile)....
- assign the string "bar" to the variable foo.
- assign some string value to the variable bar.
- retrieve the value of a variable (in this case bar), where the name of the variable to retrieve from is specified in another variable (in this case foo).

So writing $($(foo)) accesses the value of a variable whose name is stored in foo.

Klashxx's one is closer to what I need, but it doesn't work if i move the foo=var from the shell into the awk script.

I guess this can't be done in awk. I'll workaround it a different way.
Thanks
# 5  
Old 02-05-2008
there's no 'eval' in awk: FYI

Last edited by vgersh99; 02-05-2008 at 03:04 PM..

Previous Thread | Next Thread
Test Your Knowledge in Computers #893
Difficulty: Easy
sed uses regular expressions, such as .* (zero or more of any character).
True or False?

10 More Discussions You Might Find Interesting

1. Solaris

How is Load Average computed and what are better numbers?

Hello All, What is load average and how is it computed in Solaris 10? What are the different ranges for normal, warning and danger signs? Kindly clarify. Thank you, Sunil Kumar (3 Replies)
Discussion started by: msgforsunil
3 Replies

2. Shell Programming and Scripting

Indexing Variable Names

Hi All I think I might have bitten off more than I can chew here and I'm hoping some of you guys with advanced pattern matching skills can help me. What I want to do is index the occurrence of variable names within a library of scripts that I have. Don't ask why, I'm just sad like that... ... (3 Replies)
Discussion started by: bbq
3 Replies

3. Shell Programming and Scripting

[SHELL: /bin/sh] For loop using variable variable names

Simple enough problem I think, I just can't seem to get it right. The below doesn't work as intended, it's just a function defined in a much larger script: CheckValues() { for field in \ Group_ID \ Group_Title \ Rule_ID \ Rule_Severity \ ... (2 Replies)
Discussion started by: Vryali
2 Replies

4. UNIX for Dummies Questions & Answers

Incrementing Variable Names

Hi, I am using BASH. I have encountered a situation where the following is necessary (but I am not sure how to do it): #Define multiple arrays, whose names only differ by a number: ARRAY_1=(1 2 3) ARRAY_2=(4 5 6) ARRAY_3=(7 8 9) #Define ARRAY_AMOUNT, the number of arrays. In this case... (1 Reply)
Discussion started by: msb65
1 Replies

5. Shell Programming and Scripting

File Names in a Variable in a loop

Hi All , I am having confusion in a shell script. Please guide me. I need to get multiple files (number of files vary time to time, file names are separated by '|') using FTP get from the remote server. Actually, i call the FTP function in a loop. At the last step, i need to move all the get... (3 Replies)
Discussion started by: spkandy
3 Replies

6. Shell Programming and Scripting

Variable names within array call

I am trying to write a piece of code that will call a value from an array. There are multiple arrays that I need to call data from. Only one array needs to be used based on the step within the program. The arrays have the names "cue_0", "cue_1", and so on. I can't figure out how to call a value... (2 Replies)
Discussion started by: vockleya
2 Replies

7. UNIX for Dummies Questions & Answers

Variable Names With Numbers

Hi Everyone, I was just curious if you are allowed to begin a variable name with a number. For example, I would really like to have the variable 8DAY_AVERAGE. But my shell script only seems to allow EIGHTDAY_AVERAGE. Is there a way I can get the former to work? I am using bash. Thanks a lot! ... (1 Reply)
Discussion started by: msb65
1 Replies

8. UNIX for Dummies Questions & Answers

Variable names

Hi, I have a variable v_iteration which can equal any 3 digit number eg 001 or 926 I would like to dynamically make a new variable name up using this 3 digit number eg v_another_variable_001=fred v_another_variable_926=joe The following are examples of what I have tried ... (2 Replies)
Discussion started by: Bab00shka
2 Replies

9. UNIX for Dummies Questions & Answers

Variable assignment for file names.

I am trying to process error files in selected directories. I can count the files that are there and export the contents to a file for either emailing or printing. The next step is to move the files to a processed directory with the name changed to .fixed as the last extension. for file in... (2 Replies)
Discussion started by: jagannatha
2 Replies

10. Shell Programming and Scripting

Variable names

Hi I have several variables called var1, var2, var3, var4 and so on. I would like to examine the contents of the variables using a loop and a variable called num which equals a figure eg num=3 I wanted to do something like echo $var$num to display the contents of var3 (4 Replies)
Discussion started by: Bab00shka
4 Replies

Featured Tech Videos