Solved

# Korn Shell Problem

Posted on 2002-03-13
275 Views
I have 2 simple (I think) questions:
1. I am reading in a file which has 3 words in each record. I would like to put each word in a different array e.g. word1 would be in array1 , etc. How could I do that?
2. I am displaying the first word of each record , preceed by a sequence number on the screen e.g.
1  value1
2  value2
3  value3
...
I have done this with the following code:
...
set -A number 1 2 3 4 5 6 7 8 9
...
max=9
i=0
while [[ \$i -lt \$max ]];do
line="\${number[\$i+1]} \${array1[\$i]}"
print \$line
i=\$i+1
done
...
I would like to print the sequence number without having to create the number array, but I have tried various things and nothing seems to work. How could I do that?
0
Question by:jc31415
[X]
###### Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

• Help others & share knowledge
• Earn cash & points
• 2

LVL 51

Expert Comment

ID: 6863705
#! /bin/ksh
integer i = 1
cat your-file |while read array1 array2 array3 ; do
echo \$i \$array2
let i=\$i+1
done
0

Author Comment

ID: 6864567
That doesn't solve my problem. I want to move my display forward and backward based on user input. For example I want to display the first 20 entries and then based on user input shift to the next 20 entries and then either forward 20 entries or back 20 entries. So I need the values in an array.
0

LVL 51

Accepted Solution

ahoffmann earned 50 total points
ID: 6864647
#! /bin/ksh
integer i = 1
cat your-file |while read array1[\$i] array2[\$i] array3[\$i] ; do
let i=\$i+1
done

# do mean this?
# no all values from column 1 are in array1, column 2 in array 2, and column 3 in array3
# given an offset for example of 5, you can do:

integer i=5 # or \$1 if passed in as first parameter
while [ \$i -lt 5+20 ]; do
echo \${array1[\$i]}
done
# keep in mind that there is no check of index to array1
0

## Featured Post

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

### Suggested Solutions

A metadevice consists of one or more devices (slices). It can be expanded by adding slices. Then, it can be grown to fill a larger space while the file system is in use. However, not all UNIX file systems (UFS) can be expanded this way. The conca…
Every server (virtual or physical) needs a console: and the console can be provided through hardware directly connected, software for remote connections, local connections, through a KVM, etc. This document explains the different types of consol…
Learn how to get help with Linux/Unix bash shell commands. Use help to read help documents for built in bash shell commands.: Use man to interface with the online reference manuals for shell commands.: Use man to search man pages for unknown command…
Learn how to find files with the shell using the find and locate commands. Use locate to find a needle in a haystack.: With locate, check if the file still exists.: Use find to get the actual location of the file.:
###### Suggested Courses
Course of the Month5 days, 7 hours left to enroll