Array Retrieval Formatting


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting Array Retrieval Formatting
# 1  
Old 06-15-2005
Computer Array Retrieval Formatting

I have a shell script (Solaris v8 ksh) loading an array from a flat file. An exaple of that flat file is below. It contains white-spaces, and carrage returns. When I try to load the first line as a variable, it (the variable) shows up as the first field not the first line. How do you arrange an array by carrage return? I know it can be done, but can't find anywhere that talk about it. Thanks in advance for replies, this forum rocks!

description.lst snippet ->
API Programmers Reference
Backup Procedures for Vista Plus on UNIX
The Vista Backup and Recovery Plan
Vista Plus Check Generations Usage Guide
-------------------------------------------------------------------------
shell scrip snippet->
set -A description $(cat $SHDIR/description.lst $1)
CNT=0
REPDESC=${description[$CNT]}
-------------------------------------------------------------------------
If I echo $REPDESC I get:
API
I would like it to echo:
API Programmers Reference

I have tried putting the contents of description.lst into “ “ to no avail.

Last edited by gozer13; 06-15-2005 at 05:46 PM..
# 2  
Old 06-15-2005
Computer Oh duh

OK just noticed something. If I change the:
set -A reportid $(cat $SHDIR/description.lst $1)
to
set -A reportid $(cat $SHDIR/description.lst $0)
maybe it may work. I will check real quick.
# 3  
Old 06-15-2005
Computer argh

nope didn't change the results. Oh well, anyone??
# 4  
Old 06-15-2005
The problem here is that the array is populated based on space-separated items. The only way I know to get around it is to change the spaces to something else and change them back later when you are ready to print. Not pretty.

djp
# 5  
Old 06-15-2005
Try this:
Code:
IFS='
'
set -A description $(cat $SHDIR/description.lst $1)

# 6  
Old 06-15-2005
If only I'd waited a little longer before displaying my ignorance! Smilie

Seriously, thanks for posting the answer, tmarikle. I've been needing that for awhile and it never occurred to me...

djp
# 7  
Old 06-15-2005
No worries.

One thing should be mentioned. IFS typically contains a space, a tab, and a newline character. You may want to save IFS's original value or typeset it in a function when changing it as it may change how your other scripting constructs tokenize lists. This way, IFS can be restored back to its original field separators.

Example:
Code:
OLD_IFS=${IFS}
IFS='
'
set -A ...
IFS=${OLD_IFS}

Thomas
Login or Register to Ask a Question

Previous Thread | Next Thread

6 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

Perl array formatting

Experts, I'm having problems with a portion of my perl script. I have a perl array that contains the following: Port1,circuit3,2;4 Port2,circuit1,9;6 Port3,circuit2,12;5 Port4,circuit4,11;10;3 Port5,circuit7,8;7;1 I'm trying to produce the following output: (3 Replies)
Discussion started by: timj123
3 Replies

2. UNIX for Dummies Questions & Answers

Formatting Array Output

Hello All, Q1) I have the below code but when the email was sent out all lines are merged and coming out as a single line though my printf statement has newline "\n", How do i avoid that? Q2) In my second IF statement when i introduced the backslash "\" for continuation of a line or command, i... (10 Replies)
Discussion started by: Ariean
10 Replies

3. Shell Programming and Scripting

MySQL bulk retrieval of database through html form

Have to delete this long post. Seems nobody would spent time on it. (0 Replies)
Discussion started by: yifangt
0 Replies

4. UNIX and Linux Applications

Free-text retrieval utility

Can anyone recommend an free-text retrieval utility? Open source or free preferred. Any views on say IQ-text? (0 Replies)
Discussion started by: MJDRM
0 Replies

5. Solaris

Configure Ultra for Web doc retrieval

I have an ultra 10 - running solaris 9 that I installed a few weeks ago... I am not sure how to phrase this but basically I have some html doc's that I store on the ultra but I want people to be able to access from their windows workstation on our lan... How can I do this? If you could help... (4 Replies)
Discussion started by: frustrated1
4 Replies

6. UNIX for Dummies Questions & Answers

Retrieval of deleted files

We have a situation in a large dept of programmers where critical accounting data files were deleted. Is there any way in UNIX to trace deletions and or possibly retrieve the deleted file? (14 Replies)
Discussion started by: cgardiner
14 Replies
Login or Register to Ask a Question