Read a file and assign the values to a variable


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting Read a file and assign the values to a variable
# 1  
Old 06-09-2009
Error 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 third line and write a new file like this


curyymm = 0906
PRVYYMM = 0905
CDDMmmYY = 09Jun09
bddMmmyy = 01Jun09
eddMmmyy = 30Jun09
# 2  
Old 06-09-2009
Code:
sed -n 3p file1 |  read curyymm PRVYYMM CDDMmmYY bddMmmyy eddMmmyy  

echo "curyymm = $curyymm
PRVYYMM = $PRVYYMM
CDDMmmYY = $CDDMmmYY
bddMmmyy = $bddMmmyy
eddMmmyy = $eddMmmyy" > file2

# 3  
Old 06-09-2009
Or with awk:

Code:
awk '
NR==1{split($0,a);next}
NR==3{for(i=1;i<=NF;i++){print a[i] " = " $i};exit}
' file > newfile

Regards
# 4  
Old 06-09-2009
wow.. that was very quick.. thank you guys.. it was very helpfull.. i din think this would be this simple.. you guys made my life easy Smilie
# 5  
Old 06-10-2009
Code:
nawk 'NR==1{
	n=split($0,keys," ")
	next
}
NR==3 {
	split($0,vals," ")
	for(i=1;i<=n;i++)
		printf("%s=%s\n",keys[i],vals[i])
	exit
}' a.txt

# 6  
Old 06-10-2009
Quote:
Originally Posted by funksen
Code:
sed -n 3p file1 |  read curyymm PRVYYMM CDDMmmYY bddMmmyy eddMmmyy  

echo "curyymm = $curyymm
PRVYYMM = $PRVYYMM
CDDMmmYY = $CDDMmmYY
bddMmmyy = $bddMmmyy
eddMmmyy = $eddMmmyy" > file2


That will fail in every shell except ksh. It will fail in pdksh, bash, dash, etc..

There's no need for an external command if you want the third line; if it's the 50th (give or take a dozen or two) or higher, use sed.

Code:
{ read;read;
read curyymm PRVYYMM CDDMmmYY bddMmmyy eddMmmyy  
} < file1
echo "curyymm = $curyymm
PRVYYMM = $PRVYYMM
CDDMmmYY = $CDDMmmYY
bddMmmyy = $bddMmmyy
eddMmmyy = $eddMmmyy" > file2

Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. UNIX for Beginners Questions & Answers

How To Read a File and Assign the line values to an Array?

i have this basic code that i wrote to read a file and place it's values to an array. the source/input file will have multiple strings on it that is separated by a whitespace. sample_list.txt file contents: ACCT1 TABLE1 ACCT2 TABLE2 ACCT3 TABLE3 script file: sample_list.sh ... (3 Replies)
Discussion started by: wtolentino
3 Replies

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

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

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

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

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

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

10. UNIX for Dummies Questions & Answers

How to Read a config file and Assign to Variable

I have removeConfig file, it contains the dir paths for removing. I need to read line by line and assign to variable. any idea? (1 Reply)
Discussion started by: redlotus72
1 Replies
Login or Register to Ask a Question