Variable resolution in File content


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting Variable resolution in File content
# 1  
Old 07-25-2013
Variable resolution in File content

I have a file File1 containing lines like below

Code:
apple ${FRUIT}-Color
orange ${FRUIT}-Color
banana ${FRUIT}-Color

Now, in my shell I'm reading the file like below

Code:
while read FRUIT DESC; do echo $FRUIT $DESC; done < File1

which outputs -
Code:
apple ${FRUIT}-Color
orange ${FRUIT}-Color
banana ${FRUIT}-Color

but what I want it -

Code:
apple apple-color
orange orange-color
banana banana-color

Any suggestions?
# 2  
Old 07-25-2013
Code:
while read FRUIT DESC; do eval echo $FRUIT $DESC; done < File1

(don't let that input file out of your sight Smilie)

Code:
$ ls -l
total 16
-rwxr--r--  1 scott  staff  64 25 Jul 21:48 myScript
-rw-r--r--  1 scott  staff  82 25 Jul 21:49 file
$ 
$ cat myScript
while read FRUIT DESC; do
  eval echo $FRUIT $DESC
done < File
$ 
$ cat file
apple ${FRUIT}-Color
orange ${FRUIT}-Color
banana ${FRUIT}-Color $(rm file)
$ 
$ ./myScript
apple apple-Color
orange orange-Color
banana banana-Color
$ 
$ ls -l
total 8
-rwxr--r--  1 scott  staff  64 25 Jul 21:48 myScript


Last edited by Scott; 07-25-2013 at 04:54 PM.. Reason: Added danger-of-eval example
# 3  
Old 07-25-2013
Thanks! I tried a few eval combinations but guess not this one Smilie I feel so stupid Smilie
# 4  
Old 07-25-2013
The trick to getting eval to work is to put it in 'echo' first.

If echo prints valid shell statements, eval will work.

If echo is not printing valid shell statements, eval will choke on it.
Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

Replacement of variable by their content in a file

Dear all, I have a "SQL request" in a file: that request include different "host variable" and I would like to substitute the different "host variable" by their respective content before executing the request. For example: $ echo $SHELL /bin/bash $ cat dae2.txt DELETE FROM ... (11 Replies)
Discussion started by: dae
11 Replies

2. Shell Programming and Scripting

To substitute multiple variable by their content in a file

Dear All, I would like to instantiate a "pattern file" substituting "variable name" by their content. Saying, we have: 1/ a "pattern file" containing different "variable name", the first character of the "variable name" is "@": $ cat TPTModl.txt DEFINE... (12 Replies)
Discussion started by: dae
12 Replies

3. UNIX for Dummies Questions & Answers

Getting ls content into a file using variable

hi i just cant figure out how can i do this ls -lt > log.txt using $PWD what i mean is how can i get the ls command content into a file using $PWD variable? :confused: (4 Replies)
Discussion started by: chinababy
4 Replies

4. Shell Programming and Scripting

Trouble reading content of file from a variable

Hi , i have a parameter which has path of a file. Now i need to have another parameter with the content of that file. I tried the belwo script , can any one please help. I dont want to use cat command to read. Can we do it with out using cat command. while read line do... (9 Replies)
Discussion started by: Ravindra Swan
9 Replies

5. Shell Programming and Scripting

cut the variable from the line and use it to find the file and read the content of that file

Hi, I am working on one script..I am having files in the below format file 1 (each line is separated with : delimeter) SPLASH:SPLASH:SVN CIB/MCH:MCH:SVN Now I want from file 1 that most left part of the first line will store in... (6 Replies)
Discussion started by: rohit22hamirpur
6 Replies

6. Shell Programming and Scripting

How to put content of file into a variable?

For example, I have a simple text file note: this a note a simple note a very very simple notewhen I use this command, temp=$(cat "note.txt")then I echo temp, the result is in one line. echo $temp note: this a note a simple note a very very simple noteMy variable doesn't have newline. How... (7 Replies)
Discussion started by: 14th
7 Replies

7. Shell Programming and Scripting

Variable of Content From Part of Other File

I may not being doing this description justice, but I'll give it a try. I created a mailx script; there will be several messages using the same script where the only difference is the content. So I figured I'd make the content of the message a variable retrieved from a separate file. I have five... (5 Replies)
Discussion started by: royarellano
5 Replies

8. Shell Programming and Scripting

$ variable resolution problem

We have the following code filename=`head -1 $filelist` if then touch $filename fi filelist contains the below items. ${HOME}/file1 ${TEST_DIR}/file2 . . The output of the script described above is ${HOME} not found (3 Replies)
Discussion started by: krishmaths
3 Replies

9. UNIX for Dummies Questions & Answers

How to assign the content of a file to a variable?

Hi all, I have a problem here. I have a file and let we take the content of the file is just '32' (only a numeric value in that file). Now I need to assign this numeric value ( value in that file) to a variable. Is that possible? If so, can you plz advice me on this? Thanks in... (4 Replies)
Discussion started by: iamgeethuj
4 Replies

10. Shell Programming and Scripting

redirecting variable content to a file!

Hello! I'm having problems trying to extract the contents of a variable and placing it into a text file. Grateful for any help. Been trying something along the lines of: $variable > file.txt or `cat < $variable` > file.txt As you can see I'm a newbie to this :D (2 Replies)
Discussion started by: lloowen
2 Replies
Login or Register to Ask a Question