How to read a text file and assign the values in the same to a variable in loop


 
Thread Tools Search this Thread
Top Forums UNIX for Advanced & Expert Users How to read a text file and assign the values in the same to a variable in loop
# 8  
Old 06-09-2011
Quote:
Originally Posted by gary_w
Code:
#!/bin/ksh
...
while IFS=',' read path age
do
    ...
done < $file

Definitely the cleanest, most efficient way to handle this scenario.

Just in case a novice thinks they need ksh to run that, /bin/sh should do just fine.

Regards,
Alister
# 9  
Old 06-09-2011
Thank you

But for /bin/sh one would need to change the "print" command to "echo" but the main logic will still work. For the sake of the novices, "print" is built-in to ksh and this runs faster where "echo" is actually another program that must be called and thus brings along some overhead.

My normal shell is ksh93 on Solaris so that's how my brain thinks these days. :-)
# 10  
Old 06-09-2011
Hi, gary_w:

You are absolutely correct about print. I overlooked it.

However, you are mistaken about echo. It is actually built into ksh93. At least, it is into the one I just tested.

Even so, I'm not a big fan of echo myself. I much prefer the portability and safety of printf.

Regards,
Alister
# 11  
Old 06-09-2011
Interesting

Code:
$ echo $SHELL
/usr/dt/bin/dtksh
$ which echo
/bin/echo
$ ksh
$ which echo
/bin/echo
$

echo seems to be a separate program on our Solaris box, but I believe we are not on the latest version anyway. Just goes to show you not to assume anything and know that things may work differently then expected depending on the OS version and shell version you are using!
# 12  
Old 06-09-2011
Quote:
Originally Posted by gary_w
echo seems to be a separate program on our Solaris box
Just having an external echo doesn't mean your shell actually uses it. There's supposed to be back-up externals for any shell internal.

That's often taken literally to an extreme, to the point some vendors supply an external cd program. Think about that for a minute. What would an external cd program do in your shell.
# 13  
Old 06-09-2011
Yeah look at this

Code:
$ command -V echo
echo is a shell builtin
$ command -V print
print is a shell builtin
$ which echo
/bin/echo
$ which print
no print in /opt/oracle/10.2.0/bin /opt/oracle/10.2.0/bin /sbin /usr/sbin /etc /usr/ccs/bin /usr/openwin/bin 
/usr/dt/bin /bin /usr/bin /usr/ucb /etc /home/efs/bin . 
$

So it seems echo is indeed built-in and external where print is only built-in.
Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

Assign Values to a Variable in While Loop and Update the File

Hello, Could anyone please help me with Assigning a value to variable and then updating the value in the original file IFS='|' while read -r Serial_ID JOB_NAME STATUS do if then echo "Perform Fuctions" ???Assign STATUS to COMPLETED and Update File??? done <File (7 Replies)
Discussion started by: infernalhell
7 Replies

2. Shell Programming and Scripting

Do While Loop + Read From File + assign line to a variable

Hello, I am using below code for reading from a file and assigning the values to a variable , but it is loosing the value after the loop , please suggest to retain the value of the variable after the loop , while IFS=: read -r line do set $dsc=$line echo 'printing line variable ' $line... (1 Reply)
Discussion started by: ParthThakkar
1 Replies

3. Shell Programming and Scripting

Read record from the text file contain multiple separated values & assign those values to variables

I have a file containing multiple values, some of them are pipe separated which are to be read as separate values and some of them are single value all are these need to store in variables. I need to read this file which is an input to my script Config.txt file name, first path, second... (7 Replies)
Discussion started by: ketanraut
7 Replies

4. Shell Programming and Scripting

Unable to read assign values to two variables in while loop

I am trying to read a input file which has two columns separated by space Input file server1 server2 server3 server4 server5 server6 When i execute the below while code it reads line by line and a and b variables are able to successfully fetch the values while read a b do echo "$a" echo... (5 Replies)
Discussion started by: chidori
5 Replies

5. Shell Programming and Scripting

Read record from the text file & assign those values to variables in the script

For eg: I have sample.txt file with 4 rows of record like: user1|password1 user2|password2 user3|password3 user4|password4 The username and password is sepsrated by '|' I want to get the 1st row value from the file and assign it to two different variables(username and password) in my... (1 Reply)
Discussion started by: priya001
1 Replies

6. Fedora

How to read a text file and assign the values in the same to a variable in loop

Hi, I have a text file with multiple lines, each having data in the below format <DOB>,<ADDRESS> I have to write a script which reads each line in the text file in loop, assign the values to these variables and do some further processing in it. Using the following code prints the... (1 Reply)
Discussion started by: manishab00
1 Replies

7. Shell Programming and Scripting

Perl:Read single value from text file and assign to variable

Hello All, A part of my very basic perl code requires me to read a single value from a text file. The file output is the following: Reading image ... done IMAGEREGION=0x0x0-256x162x256 VOXELDIMENSION=0.9375000000x1.2000000477x0.9375000000 VOXELNUMBER=10527001... (7 Replies)
Discussion started by: ncl
7 Replies

8. Shell Programming and Scripting

Read the csv file and assign the values in to variable

I have a csv file with the values seperated by commas.I want to extract these values one by one and assign to a variable using shell script.Any ideas or code? (11 Replies)
Discussion started by: rajbal
11 Replies

9. Shell Programming and Scripting

Read a file and assign the values to a variable

i have a file in this format curyymm PRVYYMM CDDMmmYY bddMmmyy eddMmmyy --------- ------- ------------ ---------- ----------- 0906 0905 09Jun09 01Jun09 30Jun09 ----------- --------- ------------ ------------ ----------- i need to read the... (5 Replies)
Discussion started by: depakjan
5 Replies

10. Shell Programming and Scripting

how can i read text file and assign its values to variables using shell

Hello, I have a cat.dat file, i would like shell to read each 3 lines and set this 3 lines to 3 different variables. my cat.dat is: 11 12 +380486461001 12 13 +380486461002 13 14 +380486461003 i want shell to make a loop and assign 1st line to student_id, 2nd line to... (4 Replies)
Discussion started by: rosalinda
4 Replies
Login or Register to Ask a Question