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


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting how can i read text file and assign its values to variables using shell
# 1  
Old 08-26-2008
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 studentaccount and 3th line to studentinfo, and continuining on this way for each 3 lines respectively.

I wrote this code, but i am not able to assign this 3 variables Smilie
#!/bin/bash
a=0
while read line
do a=$(($a+1));

echo q=$line;
done < "cad.dat"
echo "Final line count is: $a";

I really appreciate any help, thank you in advance Smilie.

Last edited by rosalinda; 08-26-2008 at 06:03 AM..
# 2  
Old 08-26-2008
You can do something like that :
Code:
while read student_id && read student_account && read student_info
do
   (( student_count++ ))
   echo "student #$student_count id=$student_id account=$student_account info=$student_info"
done < cat.txt
echo "Final student count: $student_count"

Input file:
Code:
11
12
+380486461001
12
13
+380486461002
13
14
+380486461003

Output:
Code:
student #1 id=11 account=12 info=+380486461001
student #2 id=12 account=13 info=+380486461002
student #3 id=13 account=14 info=+380486461003
Final student count: 3

Jean-Pierre.
# 3  
Old 08-26-2008
cat filename | paste - - - | awk '{student [NR]=$1;account[NR]=$2;info[NR]=$3} END { for (i=1;i<=NR;i++) print student [i], account[i], info[i] }'
# 4  
Old 08-26-2008
Thanks a lot, it works very fine. I appreciate it SmilieSmilie
# 5  
Old 08-26-2008
Code:
cat filename | paste -d"," - - - | awk 'BEGIN{FS=","}{print "ID="$1" A/C="$2" INFO="$3}'

Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

A better way to assign values to variables - shell

so i've been used to doing it this way: SVAL=$(echo "7 3 2 38 3" | awk '{print $2}') 4VAL=$(echo "4:21:N:3" | awk -F":" '{print $4}') I know there's a way to do it by putting the value in an array and assigning it that way. but i'm not sure how to do it efficiently. any ideas? i dont... (9 Replies)
Discussion started by: SkySmart
9 Replies

2. 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

3. 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

4. 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

5. Shell Programming and Scripting

Read variables names from array and assign the values

Hi, I have requirement to assign values to variables which are created dynamically. Below is the code which i am using to achieve above requirement. #!/bin/ksh oIFS="$IFS"; IFS=',' STR_FAIL_PARENT_IF_FAILS="WF_F_P_IF_FAILS1,WF_F_P_IF_FAILS2,WF_F_P_IF_FAILS3" set -A... (1 Reply)
Discussion started by: tmalik79
1 Replies

6. UNIX for Advanced & Expert Users

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 values... (12 Replies)
Discussion started by: manishab00
12 Replies

7. 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

8. Shell Programming and Scripting

Assign values to variables of a file

Hi, I have a file like the following... CUST= DIR= NULIST= name=philps_123 How can i add values to each of these unassigned variables using a shell script? say for eg: i have values for CUST as onida, dir as /dir/onida, NULIST as /tmp/onida_files. How can i add these values to... (11 Replies)
Discussion started by: Tuxidow
11 Replies

9. Shell Programming and Scripting

Assign Values to variables from a text file

The text file has one single row and looks like this Q1 P1 2006 I have to pick up this values from a shell script into three different variables, say quarter, period and year from the above text file. Some one know's how to do this? I went through 'sed', dint really know how to... (3 Replies)
Discussion started by: sarsani
3 Replies

10. Shell Programming and Scripting

Awk/shell question: Read from file and assign to variables.

Is anyone able to help with writing a program that will do the following: 1. Read the contents of a file, line by line, and on each line, assign each of the two columns to a shell variable. 2. perform an action on the variables 3. Read the next line. Here is what I've gotten so far. ... (3 Replies)
Discussion started by: akbar
3 Replies
Login or Register to Ask a Question