ksh: How to store each output line into a different variable?


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting ksh: How to store each output line into a different variable?
# 1  
Old 11-06-2008
ksh: How to store each output line into a different variable?

Example output:

/tmp/generatelines.sh
line1
line2
line3
line4

I want each output line assigned to its own variable, ie:

"line1" --> $a
"line2" --> $b
"line3" --> $c
"line4" --> $d

Is this possible without writing to a temporary file?

Thanks
# 2  
Old 11-06-2008
Code:
ifs='
'
read $a $b $c $d <file

very inefficient if you start to change the number of lines, or variables required. Have you considered an array,
# 3  
Old 11-06-2008
Thanks for your fast response.

Unfortunately read only reads the first line, even if I set IFS like you did.

This is what happens:

nptcmc01,sys,root # (
> IFS='
> '
> read a b c d < file
> echo $a
> echo $b
> echo $c
> echo $d
> )
line1



nptcmc01,sys,root #


Please advise me how I could do this with an array. I have been trying to work this out for days!
# 4  
Old 11-06-2008
Code:
ifs="$IFS"
IFS='
'
set -A lines $(</tmp/generatelines.sh)
IFS="$ifs"

Then you have the lines in ${lines[0]} ... ${lines[n]}

And of course, if you have a line like:

Code:
a\nb

... and you want to display the element correctly,
you should use print -r.

Last edited by radoulov; 11-06-2008 at 08:02 AM..
# 5  
Old 11-06-2008
Hi radoulov

Your code works perfectly. You have taught me something new and I am extremely grateful.

Regards
Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. Programming

Python - store output of command to a variable

I am trying to store output of python command in variable. Could you please help how I can do that ? For example I am executing the following command - "CentOS" in server_desc The output would be True or False I would like to store the output in a variable say outPut and use condition... (4 Replies)
Discussion started by: atanubanerji
4 Replies

2. Shell Programming and Scripting

ksh : need to store the output of a awk command to a array

I have awk command : awk -F ' ' '{ print $NF }' log filename And it gives the output as below: 06:00:00 parameters: SDS (2) no no no no doc=4000000000). information: (6 Replies)
Discussion started by: ramprabhum
6 Replies

3. Shell Programming and Scripting

how to store output to a variable

I need some help: 1) I have a out put from a shell script, the out put looks like this: Attempting privilege escalation using sudo ... List backups for CLTST: Start date Status Ret. Class Label -------------------- ------------ ------------ ... (2 Replies)
Discussion started by: samk
2 Replies

4. Shell Programming and Scripting

How to read a file line by line and store it in a variable to execute a program ?

Hello, I am quite new in shell scripting and I would like to write a little scritp to run a program on some parameters files. all my parameters files are in the same directory, so pick them up with ls *.para >>dirafter that I have a dir file like that: param1.para param2.para etc... I... (2 Replies)
Discussion started by: shadok
2 Replies

5. Shell Programming and Scripting

store sqlplus output in variable

hi how can i store sqlplus output to a variable in sh script (not bash) Thanks MM (1 Reply)
Discussion started by: murtymvvs
1 Replies

6. Shell Programming and Scripting

date output store in variable problem

When I run following command date Output1 => Thu Sep 9 03:26:52 IST 2010 When I store in a varibale as a=`date` echo $a output2 => Thu Sep 9 03:27:02 IST 2010 The differnece is, it is trimming the space when I am storing the output in varibale. Output1 = Thu Sep 9 03:26:52 IST 2010... (2 Replies)
Discussion started by: pravincpatil
2 Replies

7. Shell Programming and Scripting

remove column and store output to a variable

Hello guys I need to run a script to remove the last column of different comma separated files. The problem is that the number of columns of my files will be different and I won't know that number every time i run my script. Is there any command I can use to remove the last column without... (7 Replies)
Discussion started by: loperam
7 Replies

8. Shell Programming and Scripting

How to store the sql query's output in a variable

Hi, My requirement is : We are calling an sql statement from a UNIX session, and fetching data into some variables from a table .. now we are unable to access these variables from outside the SQL part. Please let me know how can I achieve this. Can you please share a code snippet which... (4 Replies)
Discussion started by: venkatesh_sasi
4 Replies

9. Shell Programming and Scripting

To store the output in a variable

Hi, I am getting the following error while executing the script. Please can someone throw some light where is the problem. Many thanks. ./check: temp: not found The directory related to SEP instance 4 does not exist. The script is as follows. SEP_APP="/scp/sepx/app... (2 Replies)
Discussion started by: Sudhakar333
2 Replies

10. UNIX for Dummies Questions & Answers

How to store output in variable when put in background

Hi, How do I store following command output: export RESULT=`date` & It works when I do : export RESULT=`date` But what I need is when command put it background, I also need that output going to RESULT variable. Is there any way ? Thanks Sanjay (1 Reply)
Discussion started by: sanjay92
1 Replies
Login or Register to Ask a Question