English 中文(简体)
Function to create the array by reading the file
原标题:
  • 时间:2009-11-14 17:51:13
  •  标签:
  • unix

I am creating scripts which will store the contents of pipe delimited file. Each column is stored in a separate array. I then read the information from the arrays and process it. There are 20 pipe delimited files and I need to write 20 scripts. The processing that will happen in each script after the information is stored in the array is different. The number of columns in each pipe delimited file is different (but in no case it would be more than 9 columns). I need to do this activity of storing the information in the array in the beginning of each script. The way I am doing it at present is given below. I want help from you to understand how can I write a function to do this activity.

cat > example_file.txt <<End-of-message
some text first row|other text first row|some other text first row
some text nth row|other text nth row|some other text nth row
End-of-message
# Note that example_file.txt will available. I have created it inside the script just to let you know the format of the file
OIFS=$IFS
IFS= | 
i=0
while read -r first second third ignore
do
    first_arr[$i]=$first
    second_arr[$i]=$second
    third_arr[$i]=$third
    (( i=i+1 ))
done < example_file.txt
IFS=$OIFS
问题回答

Here is a sort-of minimal change to your script that should get you further...

...
...
while read -r first second third ignore
do
    arr0[$i]=$first
    arr1[$i]=$second
    arr2[$i]=$third
    (( i=i+1 ))
done < example_file.txt
IFS=$OIFS

proc0 () {
  for j in "$@"; do
    echo proc0 : "$j" 
  done
}

proc1 () {
  echo proc1
}

proc2 () {
  echo proc2
}

for i in 0 1 2; do
  t=arr$i [@] 
  proc$i "${!t}"
done




相关问题
Generate assembler code from C file in linux

I would like to know how to generate assembler code from a C program using Unix. I tried the gcc: gcc -c file.c I also used firstly cpp and then try as but I m getting errors. I m trying to build an ...

Function to create the array by reading the file

I am creating scripts which will store the contents of pipe delimited file. Each column is stored in a separate array. I then read the information from the arrays and process it. There are 20 pipe ...

Compare characters at the end of the string C++

This program supposed to find command line arguments entered on Unix which ends with “.exe”. For some reason it doesn t work. Here is the code: int main( int argc, char* argv[] ) { for ( int ...

Batch Job Dependencies Using Open Source/Free Software

I run a large data warehouse plant where we have a lot of nightly jobs running concerruently however many have dependencies on a extract or data load process before they start. Currently we use an ...

Writing application for both Unix and Windows

I ll write a program for Interactive UNIX (http://en.wikipedia.org/wiki/INTERACTIVE_UNIX). But in a year it will be ported to Windows. I ll write it in ANSI C and/or SH-script. When it runs on Windows ...

Development Environment in Windows [closed]

What are your recommendations for setting up a development environment in Windows, especially when not using an IDE. I am attempting to familiarize myself with Windows, and I feel a bit lost. What ...

热门标签