Go Premium for a chance to win a PS4. Enter to Win

x
?
Solved

Korn Shell Problem

Posted on 2002-03-13
3
Medium Priority
?
292 Views
Last Modified: 2010-04-21
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
Comment
Question by:jc31415
  • 2
3 Comments
 
LVL 51

Expert Comment

by:ahoffmann
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

by:jc31415
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

by:
ahoffmann earned 200 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

Important Lessons on Recovering from Petya

In their most recent webinar, Skyport Systems explores ways to isolate and protect critical databases to keep the core of your company safe from harm.

Question has a verified solution.

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

In tuning file systems on the Solaris Operating System, changing some parameters of a file system usually destroys the data on it. For instance, changing the cache segment block size in the volume of a T3 requires that you delete the existing volu…
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…
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 Month11 days, 3 hours left to enroll

886 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question